Wednesday, April 16, 2008

Typical Software Testing Process

Every Software development organization follow about similar testing process. Still It can be slightly different for organization to organization.
However in Tekriti we follows the following testing process for the most of our project/products.

1-Requirement Analysis:
Testing process starts in very early phase of software development life cycle(SDLC). In this phase we gather requirement . The requirement for testing can be gather with the help of following documents:
-> Software Requirement Specification(SRS)
-> Functional Specification
-> Designed Documents
-> Use case Documents
All the above documents are prepared by PM, TL and Dev teams itself with meetings with client or Client itself.
This is very first step in testing process. Now once we have requirement, we move to next phase so called planning.

2- Test Planning:
Now in this phase once we have the exact requirement, we plan for testing. It may be the answer of few questions like How to test, what to test, when to test, etc. We can exactly say that this phase is where we make test strategies, test plan or test Bed. The Test plan may have the answer of the questions
-What to test first
-Technologies to be used
-who will test and what
-Methodologies to be used
-Whether it is manual or automated (If automated then what to be automated)
-Risk management
-Which bug tracking tools to be used. etc
Now once we completed with this phase we start setup with test environment. That is our next phase of testing process.

3- Test environment setup:
In this phase of software testing we setup the test environment in which we have to test the application.
It depends upon the software/application to be tested.
Setup the test environment may include
-Network Configuration
-Software and hardware installation.
-Meetings with vender's
-Internet service provider may be the crucial part for for any S/w development Organization.
In Tekriti it all about the system team 's responsibility. So tester can starts working for directly 4th phase
after planning.

4-Test Design:
In this phase we write the test cases. Once the test cases writing completed , we refer this document to the senior level , In some cases we also send it to the client, but it totally depend on the nature of project.
If the process is automated then we also write test script in this phase.
Now once the test case documents is reviewed we plan then to execute.

5-Test execution :
Now exactly the task of testers comes. In this phase we execute the test cases . We also run test script (if applicable) to execute these test cases with the help of automation tools.

6-Defect tracking and report:
In this phase we track the defects which are being monitored in previous phase. If we having any bug tracking tool then we reported and manage through them otherwise we can also track them through xls sheet. Here we are using Mantis, Bugzilla, and Zira for different projects.

7- Test report:
finally, testing team prepare following documents
-Test summary report
-build release notes
-note on what is covered and what to cover in next release.
-Review acceptance. It may be the release note's mail reply from client

Finally,

As testing is never ending process and its depends on project , the process can repeat itself. The requirement changes daily so the writing test cases may be the continue process.

- Vishal Sachan

2 comments :

  1. Good article explaining the process. You can probably give more details on execution related issues.

    ReplyDelete
  2. Typical Software Testing Process. Every Software development organization follow about similar testing process.STC Technologies

    ReplyDelete