• No results found

Agile Testing

N/A
N/A
Protected

Academic year: 2021

Share "Agile Testing"

Copied!
37
0
0

Loading.... (view fulltext now)

Full text

(1)

AGILE TESTING

AGILE TESTING

AGILE TESTING

AGILE TESTING

(2)

•  T Traditiraditionallyonally, T, Testinesting is a g is a phase phase in a sin a softwoftware are devedevelopmlopment lent life cife cycleycle (SDLC).

(SDLC).

• STLC generally begins with Test planning and ends with Test executionSTLC generally begins with Test planning and ends with Test execution followed by Defect Analysis and reporting.

followed by Defect Analysis and reporting.

•  T Testinesting is g is always always perfoperformermed aftd after Coer Coding ding is cois complemplete.te.

• Customers and end users are involved only in the Acceptance TestingCustomers and end users are involved only in the Acceptance Testing

• Critical Bugs are reported at the end of the phase Critical Bugs are reported at the end of the phase and hence there is aand hence there is a delay in Release.

delay in Release. •

• Effort & Cost overrunsEffort & Cost overruns

• FFinal Software is delivered late as inal Software is delivered late as a result of a result of which it becomes lesswhich it becomes less competitive.

(3)

•  T Traditiraditionallyonally, T, Testinesting is a g is a phase phase in a sin a softwoftware are devedevelopmlopment lent life cife cycleycle (SDLC).

(SDLC).

• STLC generally begins with Test planning and ends with Test executionSTLC generally begins with Test planning and ends with Test execution followed by Defect Analysis and reporting.

followed by Defect Analysis and reporting.

•  T Testinesting is g is always always perfoperformermed aftd after Coer Coding ding is cois complemplete.te.

• Customers and end users are involved only in the Acceptance TestingCustomers and end users are involved only in the Acceptance Testing

• Critical Bugs are reported at the end of the phase Critical Bugs are reported at the end of the phase and hence there is aand hence there is a delay in Release.

delay in Release. •

• Effort & Cost overrunsEffort & Cost overruns

• FFinal Software is delivered late as inal Software is delivered late as a result of a result of which it becomes lesswhich it becomes less competitive.

(4)

• Agile methodology is an iterative Agile methodology is an iterative incremental framework for managing incremental framework for managing complexcomplex work . Agile testing is the

work . Agile testing is the process of testing a software whichprocess of testing a software which focuses primarilyfocuses primarily

on finding at point which the software works

on finding at point which the software works rather than finding where therather than finding where the software breaks, which proves this approach different from the traditional software breaks, which proves this approach different from the traditional methodology.

methodology. •

•  The d The develoevelopmepment and nt and testtesting ding duratiouration was n was dividdivided ied into numnto number ober of itef iterations rations (also(also called as Sprints) with each iteration duration varying from 15 days to 1 month called as Sprints) with each iteration duration varying from 15 days to 1 month (approx.).

(approx.).

• All the requirements are consolidated and divided into User Stories (User All the requirements are consolidated and divided into User Stories (User story isstory is a collection of requirements).

a collection of requirements).

• Product Backlog contains the complete list of all the Product Backlog contains the complete list of all the required stories prioritizedrequired stories prioritized by business value. Iteration backlog contains the list of all user stories for that by business value. Iteration backlog contains the list of all user stories for that iteration with the estimated working hours for each user story.

iteration with the estimated working hours for each user story.

• Both the Software Testing Life Cycle and Software Development Life Cycle workBoth the Software Testing Life Cycle and Software Development Life Cycle work parallel in Agile Methodology.

parallel in Agile Methodology.

What is Agile Methodology?

What is Agile Methodology?

(5)

Accelerate the realization of the benefits in business since developer, tester and business analyst work as a team.

• Accommodate change which maintains the flexibility and continuity of  business.

• Reduction of risk

• Increase visibility of risks, schedule, etc.

• Improvement of quality

– Address business needs. As a result of multidisciplinary team structure, the business needs are properly satisfied.

– Helps in reducing missed and false features. – Fewer number of defects reported while testing. – Increase maintainability of the product.

(6)

• Agile methodologies emphasize more on execution than on documentation.  This helps in delivering flawless software.

• It emphasizes more on client requirements, working of the software, clear communication, scrum calls and team work and better understanding of the main functionalities. This helps to a greater extent, designing the product as per client requirements.

• It is a testing practice which adheres to the ‘Agile Manifesto’ treating the development team as the customer of testing.

(7)

• As this development is an incremental approach, so there will be a small release on incremental basis for testing. Releases are therefore, dependent on each other.

•  The further development is done on the previously released and tested piece of function or code.

•  This way the defects are identified at the earlier stage, analyzed and fixed and hence are not carried forward.

(8)

• Having multidisciplinary team structure, client, developers and testers work together, interact and communicate often to capture the

requirements correctly and efficiently. This communication helps in better understanding of the requirements and reduces

misunderstandings between clients and developers to maintain a good business.

•  The Development team and Test team are co-located so that the clarifications and defect fixes are done then and there itself. This reduces rework and ensures the delivery of the software on time.

• Sharing of updates is done on daily basis via stand up call or scrum call.

Contd

(9)

•  The success or failure of code to meet requirements or user stories must still be executed and documented in an auditable fashion.

• Even with business value and cake slices being added in small increments, code still needs to be regression tested

(10)

Client Developer Tester  

Scope/Requirements Code for Test

Requirement issues & clarifications

Defects reported & analyzed

(11)

• Customer satisfaction by rapid, continuous delivery of usable software • Frequent delivery of bug free software

• Changes in requirements are welcome at any point of time. • Rapport between business people and developers

• Discussion is the best form of communication.

• Continuous attention to technical excellence and good design. • Self-organizing teams

(12)

Some of the most common agile methodologies used are:

Extreme Programming

• Dynamic Systems Development Method (DSDM)

• SCRUM

• Adaptive Software Development(ASD)

• Feature Driven Development(FDD)

(13)

Extreme Programming teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be done. Focused on business value, the team produces the software in a series of small fully-integrated releases that pass all the tests the

Customer has defined.

Extreme Programming Practices: •  Test Driven Development • Pair Programming

• Short Iterations and Releases • Refactoring and User Stories • Acceptance Testing

(14)

• When the customer does not have a clear understanding of the detailed features of the new system. Customer may not have clear idea about the new features of the latest technology used.

• When the technology used to develop the system is new compared to other technologies. Some product needs development with the latest version of the technology used.

• When we are able to create automated unit and functional tests.

• When the team size is small (usually 2 to 12 people).

Note: Extreme Programming is one of the most widely used

approaches.

(15)

•  This is an extension of Rapid Application Development, which primarily focuses on Information Systems projects that are characterized by tight schedules and budgets.

• DSDM addresses the most common failures of information systems

projects, which includes exceeding budgets, missing deadlines, and lack of user involvement and top-management commitment. This

methodology is very useful for short term projects which are to be

delivered in a very short span of time. Therefore, work should be exact and process-oriented.

DSDM consists of 

 Three phases: pre-project phase, project life- cycle phase, and post-project phase.

A project life-cycle phase subdivided into 5 stages: feasibility study, business study, functional model iteration, design and build iteration, and implementation

(16)

Feasibility Functional Model Iteration Design and Build Iteration Implementation DSDM LIFE CYCLE

(17)

Major Roles:

Scrum master: One of the team member of scrum team becomes the Scrum master.

Scrum team: Developers and Testers comprises the scrum team.

(18)

Product Backlog

Sprint Backlog Sprint Working

Increment of the Software

30 Days 24 Hours

(19)

 The role of testing in SCRUM is that of an integrated approach.

 The testers will be more closely associated with the developers

to provide more immediate feedback to the developers and the

team.

(20)

Core Scrum practices are:

• Backlog. Product, Release, Sprint Backlog - lists of all

requested/required functionality for the product, release and sprint respectively. Product Owner/Manager responsible for the backlog management and maintenance.

• Iterative development. The whole project gets divided into sprints usually 2 to 4 weeks duration each. Sprints have fixed duration to enable regular deliveries and helps development teams to focus on a shippable product in the end of each sprint.

• Scrum meetings. Daily time boxed meetings where team members answers the following questions: What you did yesterday? What has impeded your work? What you plan to do today?

• Burn Down Charts. Scrum Sprint Burn Down chart shows

implementation progress during a single sprint. It provides answers on the following questions: When sprint could be completed based on previous progress? What is the most possible scrum team Velocity in future sprints?

• Sprint review meeting. Provides an inspection of project progress at the end of the every Sprint. The goal is to improve development

(21)

Product Backlog:

 The clients who are involved in defining the process, key user scenarios and features for the development of the product, give feedbacks which are used to prioritize the features and enhancements of the product, are logged into Product Backlog.

Sprint Backlog:

 This is a repository of the tasks and features to be implemented in the incoming release.

Sprint:

Work done in the last scrum, tasks for the next scrum and the

impediments comprise the Sprint. This phase usually lasts for minimum of 24 hours to a maximum of 4 weeks.

(22)

• Adaptive Software development works on the principle of continuous adaptation of ideas while developing a software.

• It uses repeated series of speculate, collaborate and learn cycles to develop the application which is based on requirement changes and client expectations from the product. These series help in adapting the approaches and latest technologies.

(23)

•  The main purpose of this testing is to deliver the customer a

tangible, working software without any delay.

•  The development process involves 5 activities: Develop Overall

Model, Build Features List, Plan by feature, Design by feature,

Build by feature.

Milestones are identified and progress is tracked on basis of the

achievement of milestone. Milestone Reports are prepared as

well.

(24)

THE TESTER AND THE TEAM

• An agile tester will contribute to the team from the time the story is presented to the team to when it’s completed.

•  The Specific contribution during the phase of work for the tester are:

1. Story Exploration

2. Estimation

3. Story Planning

4. Story Progression

5. Story Acceptance

(25)

Story Exploration

•  The product owner shares this information through:

1. Visible product roadmap

2. Release overviews

3. Iteration planning

(26)

Estimation

• Estimation is another team activity to which agile testers should

contribute.

• Estimate does not equal hours of effort .Estimate is the relative

size of a story w.r.t other stories.

• If significant additional testing needs to be performed then that is

factored into the estimate also.

(27)

Story Planning

 The Agile tester actively participates in story Planning.

• Detailed story planning occurs after a story has been estimated and

placed in iteration.

•  The team identifies the tasks that need to be performed and assigns

detailed effort estimates to the story.

•  The tasks include the standard work of the team that is applicable to

the story.

• For Testing activities, tasks for standard work are

1.Prepare test data

2.Extend acceptance tests

3.Execute manual tests

4.Conduct exploratory testing sessions

(28)

Story Progression

• Unit testing is done by developers and then the application is send

for testing to the testing team.

•  Testers can review unit test coverage and testers can monitor failed

unit tests.

•  Testers will also conduct exploratory tests as the features become

functional.

• During this phase, agile tester will also actively communicate

information about testing status and progress like:

a) Expresses the acceptance criteria of the story in test form.

b) Visually indicates the status of story.

c) Highlights testing constraint.

d) Giving targeted information regarding problem areas and

blocking issues.

(29)

Story Acceptance

• Developers aren’t done when all the code is written; testers aren’t

done when all the tests pass or when all the tests are automated.

 The team is done when story is done.

•  Testers contribute both to the team discussion and the team

definition.

(30)

 Automated Testing In Agile

• Automated testing still fills an important role in the world of Agile

Development

•  The benefits of automation still apply: repeatability, consistency,

better coverage through data driving.

•  There is also the regression testing that will be required as an

iterative approach is developed

(31)

Agile approach

• Requirement and Detailed design documents are mandatory.

• Processes are defined well ahead. • Development and Testing teams are

rarely co-located.

• Unit testing and integration testing are handled internally between the testing and development team.

• No scrum calls are conducted on daily basis.

• Requirement and Design

documents are not required and are optional.

• No processes involved.

• Development and Testing teams are co-located for better communication. • Clients are involved in each and

every small unit of deliverables and are updated on daily happenings. • There will be scrum call or stand up

call on daily basis with all the stakeholders.

(32)

Traditional approach

 Agile approach

• Face to face communication is limited and mostly not possible.

• Emphasize more on requirement document, detailed design, weekly reports and review calls process and tools.

• Time consuming in understanding the scope and requirement, getting the defect fix and for the sign-off. • Time to market cost is unpredictable

• Face to face communication is highly possible and plays a vital role.

• Emphasize on client requirements, working software, collaboration, people communication, scrum calls and team work.

• Saves lot of time since there is lot of  interaction among the stakeholders on daily basis.

• Reduces the time to market cost.

(33)

• Since changes are welcomed at anytime in agile development, change control is common place.

• In agile testing, no formal test planning is required, instead a detailed test plan is preferred.

•  There is no predefined entry or exit criterion as there is no stipulated time frame allotted for testing.

• Focus would be on priorities, client needs, critical functionalities rather than focusing on the documentation.

• Very much flexible and adaptable which make these practices more helpful and simpler.

• Progress can be so closely tracked and can be reported to top management at a very early stage in the process, resulting in

(34)

Substituting unit tests for acceptance tests or vice versa.

• Acceptance tests are not totally automated.

• Automated tests are thought to be sufficient.

• Non-functional tests are never taken into execution such as

performance, volume, reliability, usability, scalability, memory

usage, etc.

(35)

 The reason behind the success of agile testing is the co-location

of the developers, testers and business analysts, which

contributes to the delivery for quality software in a very short

span of time. Communication becomes the most important for

developing a bug free, working software.

Discussions, both formal and informal, form the backbone

of agile testing. Hence, it will be exceptionally beneficial to

follow agile testing methodologies especially in projects where

there are frequent changes in requirements and the time to live

is short.

(36)

www.testing.com/agile

(37)

References

Related documents

representation of the Union on issues concerning its common foreign and security policy, without preju- dice to the powers of the Union Minister for Foreign Affa i rs" (Art 1 -

After normalizing values from HFD-fed mice and diet corrected (HFD:LFD) mice to those of age-matched lean controls, there was a signi fi cant improvement in the bone mineral density

the college of engineering was inaugurated in 1980 and includes five academic departments offering seven Bachelor’s degrees: namely architectural engineering, chemical

Winters Instruments is a global manufacturer of premium quality pressure and temperature instrumentation, with distribution partners in over

• Where only a single rating is stated, three-phase 3-wire current transformer operated meters shall be tested at the rated CT current (eg. New or repaired class 2.0 meters should

We tested the association of 1,084 tagging SNPs with prostate cancer risk in a study of 815 prostate cancer cases and 1,266 controls nested within the European Prospective

Today’s  competitive  and  complex  construction  industry  requires  careful  consideration  in  the  formation  of  the  construction  contract  to  ensure  that 

BLOCK DIAGRAM (PER PORT) MAC RMII Data Interface MDC/MDIO PHYAD[4:0] PCS Framer Carrier Detect 4B/5B TP_PMD MLT-3 BLW Stream Cipher 25 MHz 25 MHz 10TX 10RX 20 MHz 100TX 100RX TX+