5 Software Testing
5 Software Testing
1)Analysis Phase
2)Design Phase
3)Coding Phase
4)TESTING Phase
5)Operational Phase
WHAT DOES
TESTING MEAN??
Various definitions :
Objective To ensure that the product is being To ensure that the product actually
built according to the requirements meets the user’s needs, and that the
and design specifications. In other specifications were correct in the first
words, to ensure that work products place. In other words, to demonstrate
meet their specified requirements. that the product fulfils its intended use
when placed in its intended
environment.
Question Are we building the product right? Are we building the right product?
➢Static testing
➢Dynamic testing
➢Visual testing
➢The box approach
1. Black box testing
2. White box testing
STATIC TESTING
➢ Under Static Testing code is not executed. Rather it manually
checks the code, requirement documents, and design documents
to find errors. Hence, the name “static”.
Static testing is about prevention of defects Dynamic testing is about finding and fixing the defects
Static testing involves checklist and process to be followed Dynamic testing involves test cases for execution
This testing can be performed before compilation Dynamic testing is performed after compilation
Cost of finding defects and fixing is less Cost of finding and fixing defects is high
Return on investment will be high as this process involved Return on investment will be low as this process involves
at early stage after the development phase
➢ At the core of visual testing is the idea that showing someone a problem (or
a test failure), rather than just describing it, greatly increases clarity and
understanding.
Example- video recording of whole testing process
Here are the generic steps followed to carry out any type of
Black Box Testing:
Example: Functional testing reveals that the function of inputting data into
a set of cells in a database works or not, however, Non Functional Testing
reveals that saving a version of the document requires 2 minutes, which
will (or should) be judged as too long to wait.
➢ Regression testing –Testing to ensure that the
application remains intact during defect fixes and new
enhancements.
➢ Usability testing- this is a Black box testing that test for
user friendliness. Ensure the user interface is properly
designed for a positive end-user experience.
➢ Compatibility testing- Testing to ensure application
compatibility with different OS, other application
softwares , browsers or target environments that
greatly differs from the original.
Advantages
➢ Branch Coverage – This technique checks every possible path (if-else and
other conditional loops) of a software application.
Using Statement and Branch coverage you generally attain 80-90% code
coverage which is sufficient.
Types
➢ This testing happens in the final phase of testing before moving the
software application to Market or Production environment.
➢ The main purpose of this testing is to validate the end to end business flow.
It does NOT focus on the cosmetic errors, Spelling mistakes or System
testing.
➢ With UAT , the client can be sure “What to expect” from the product rather
than assuming. The benefit of UAT is that there will be no surprises when
the product is released to the market.
Main types of acceptance testing