In this post, we will provide an overview of Software Testing. We will answer some common queries related to software testing and will be discussing What, Why, Who, When and How of testing.
Software testing is the process of evaluating a system with the intend of finding bugs. It is performed to check if the system satisfies its specified requirements.
Testing measures the overall quality of the system in terms of its correctness, completeness, usability, performance and other functional and non-functional attributes.
Software Testing as a separate activity in SDLC, is required because-
Software Testing is/can be done by all technical and non technical people associated with the software. Testing in its various phases is done by-
Based on the selection of different Software Development Life Cycle Model for the software project, testing phase gets started in the different phases. There is a software myth that testing is done only when some part of software is built but testing can(should) be started even before a single line of code is written. It can be done in parallel with development phase e.g. in case of V Model -
|Development Phase||Testing Activity|
|Requirement Design||Acceptance test creation|
|Functional Specification||Functional test case creation|
|Implementation||Unit testcase creation|
|Code Complete||Test case execution|
Software testing can be done both manually as well as using automation tools. Manual effort includes verification of requirement and design; development of test strategy and plan; preparation of test case and then the execution of tests. Automation effort includes preparation of test scripts for UI automation, back-end automation, performance test script preparation and use of other automation tools.