1. Verification is also known as
Static testing.
2. Disciplined approach to
evaluate whether a software
product fulfils the requirement
or conditions imposed on them
(Are we doing the job right ) ?
3. Done by systematically reading
the contents of software product
with intention of defecting
defects.
4. Helps in identifying not only
the presence of defects but also
their location.
5. It is the process of confirming
that s/w “meets its
specifications”.
6. Method : Walkthrough,
Inspection, Review of each
software product
Validation
1. Validation is also known as
Dynamic testing.
2. Disciplined approach to
evaluate whether the final ,
as-built software product
fulfils its specific intended use
(Are we doing the right Job?)
3. Done by systematically testing
a software product with the
intention of finding defects.
4. Helps in identifying the
presence of defects , not their
location
5. It is the process of confirming
that s/w “meet the user
requirements”.
6. Method : Unit testing ,
Integration testing , System
testing , Acceptance testing ,
Functional
Adv. & Dis-adv. of V-model Advantages of V-model:
Advantages of V-model:
• Simple and easy to use. Testing activities like planning, test
designing happens well before coding. This saves a lot of time. Hence higher chance of success over the waterfall model.
• Proactive defect tracking – that is defects are found at early stage.
• Avoids the downward flow of the defects.
• Works well for small projects where requirements are easily understood.
Disadvantages of V-model:
• Very rigid and least flexible.
• Software is developed during the implementation phase, so no early prototypes of the software are produced. When to use the V-model:
• The V-shaped model should be used for small to medium sized projects where requirements are clearly defined and fixed.
• The V-Shaped model should be chosen when ample technical resources are available with needed technical expertise.
Water Fall Vs. V-Model
Waterfall Model: It includes all phases of SDLC but the drawback is once requirement made freezed it cannot be changed.
Waterfall Model the tester role will take place only in the test phase
Waterfall model is a fixed process u can't make any changes in the
requirement or in any phase
waterfall model used only the requirements are fixed.
V-Model: In this model all phases will be done correspondently development and testing.
V-Model role will take place in the requirement phase itself
V-Model u can make any changes in the requirements
V-model is the simultaneous process but it is not in case of water fall model
V-model can be used for the any type of requirement(Uncertain requirement)
4. RAD
•In general, RAD approaches to software development put less emphasis on planning tasks and more emphasis on development.
• In contrast to the waterfall model, which emphasizes rigorous specification and planning, RAD approaches emphasize the necessity of adjusting requirements in reaction to knowledge gained as the project progresses.
• This causes RAD to use prototypes in addition to or even sometimes in place of design specifications.
• RAD approaches also emphasize a flexible process that can adapt as the project evolves rather than rigorously defining specifications and plans correctly from the start
RAD
5.Agile Software Development
Agile software development primarily focuses on an iterative method of development and delivery.
A software testing practice that follows the principles of agile software development is called Agile Testing. Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs.
Developers and end users communicate closely and the software is built.
Customer is thus closely involved in the software design and development process.
Delivery timelines are short and new code is built on the previous one.
Agile Development models : Extreme Programming (XP) , SCRUM
Advantages of Agile Testing:
• Agile Testing Saves Time and Money
• Less Documentation
• Regular feedback from the end user
• Daily meetings can help to determine the issues well in advance.
Best Practices in Agile Testing
1. Automated Unit Tests
2. Test Driven Development
3. Automated Regression Tests
4. Exploratory Testing
• Testing is NOT a Phase: Agile team tests continuously and continuous testing is the only way to ensure continuous progress.
• Testing Moves the project Forward:When following conventional
methods, testing is considered as quality gate but agile testing provide feedback on an on going basis and the product meets the business demands.
• Everyone Tests: In conventional SDLC, only test team tests while in agile including developers and BA's test the application.
• Shortening Feedback Response Time: In conventional SDLC, only during the acceptance testing, the Business team will get to know the product development, while in agile for each and every iteration, they are involved and continuous feedback shortens the feedback response time and cost involved in fixing is also less.
• Clean Code: Raised defects are fixed within the same iteration and thereby keeping the code clean.
• Reduce Test Documentation: Instead of very lengthy documentation, agile testers use reusable checklist, focus on the essence of the test rather than the incidental details.
•Test Driven: In conventional methods, testing is performed after
implementation while in agile testing, testing is done while
implementation.
How about Software Testing Life Cycle? How is it different from Software Development Life Cycle?
ReplyDelete