Software Testing Unit-1 PART-1
Software Testing Unit-1 PART-1
By Ganesh Koravi
Unit 1 :Basic Of Software Testing And
Testing Methods
Generic Definition
• What is Testing?
➢Testing the completeness and correctness of application
● What is Software ?
➢It is set of program designed to perform a specific task
● What is product ?
➢It offers standard set of functionality for different customers example ATM
● What is project ?
➢When application is developed for single customer based on his
specification
Types of Software Testing
Definition Of Software Testing
1)CRS/BRS
The CRS or BRS stands for Customer Requirement Specification or
Business Requirement Specification. For the CRS, the details will be written
in the simple business (English) language by the BA (business analyst), which
cannot be understood by the developers and the test engineers.
V model(Conti…)
2)SRS/ FS
It stands for Software Requirement Specifications or the Functional Specification; in this, all the details are
converted to the detail document, which can be understood by the developers and the test engineers.
V Model Process
V Model Process
• The entire V model executes in two-phase, the complete review process is
done in the verification phase, and the whole testing process is done
under the validation phase; that's why it is also known as verification and
validation model.
A)Stage 1
• It will start from collecting the CRS (customer requirement specification)
document, from the client by the Business Analyst where the test engineer
will check the following scenarios:
• Review the CRS based on
• Incorrect requirements
• Missing requirements
• Conflicts in the requirements
• Write Acceptance Test documents
Once the test engineer team reviews the CRS and found any bugs or
defects, they will send it to the development team for fixing the bugs.
After fixing the bugs, the development team updates the CRS and
concurrently developing the SRS document.
B)Stage 2
• After completing the CRS, the SRS is sent to the testing team for the
review process, and the developers start creating the HLD (high-level
design) for the application. And the testing team will test the SRS on
the following scenarios:
• Review the SRS against CRS
• Each CRS is transferred to SRS
• CRS is not transformed properly to SRS
• Write the system Test documents
• Once the testing team reviews every detail of the SRS and CRS has
been converted correctly to SRS, we will move to our next stage.
C)Stage 3
After the completion of HLD, the developers start creating the LLD
(Low-level design) for the application, and in the meantime, the tester
will check the following tests on the HLD:
• Review HLD
• Write integration test documents
D)Stage 4
Once the testing team has done reviewing the HLD, the developers
write the coding and develops the application, and the testing team
will do the following tasks:
• Review the LLD
• Write functional test documents
V Model Process(Conti…)
E)Stage 5
After the completion of the coding part, the developers will perform
one round of unit testing, which is also called white box testing, and
check every line of the code and make sure that the code is correct.
• After performing the unit testing, the application is sent to the testing
team, where they perform multiple testing such as functional testing,
integration testing, and system testing, and acceptance testing.
• And once the testing part is done, the application will finally deliver to
the customer.
Advantage and Disadvantage of V and V Model
Methods of Testing
• Static Testing:-
• Static testing is testing, which checks the application without
executing the code. It is a verification process. Some of the essential
activities are done under static testing such as business requirement
review, design review, code walkthroughs, and the test
documentation review.
• Static testing is performed in the white box testing phase, where the
programmer checks every line of the code before handling over to the
Test Engineer.
• Static testing can be done manually or with the help of tools to
improve the quality of the application by finding the error at the early
stage of development; that why it is also called the verification
process.
• Dynamic Testing
• Dynamic testing is testing, which is done when the code is executed
at the run time environment. It is a validation process where
functional testing [unit, integration, and system testing] and non-
functional testing [user acceptance testing] are performed.
• We will perform the dynamic testing to check whether the application
or software is working fine during and after the installation of the
application without any error.