Jul 19, 2015

Fundamentals of Software Testing


Sofware testing activities
Software Test Activities

1.)  Planning and Control : Like other things, the first step is planning and if proper documentation has been done , half of the things are done. We write Test Plan to organize and manage the testing efforts.The structure , format, and level of detail are determined not only by what's best for the effectiveness of the testing effort but also by what a customer or regulating agency wants. A test plan is a valuable tool to the extent that it helps you manage your testing project and find bugs. Beyond that, it is a diversion of resources. A good Test documentation provides three major benefits;
  • It facilitates the technical tasks of testing.
  • It improves communication about testing tasks and process.
  • It provides structure for organizing , scheduling and managing the testing project.
With the proper planning , it is important to keep a control on the test activities. The most important aspect is to include a closure for new requirements and  functionality.Once the the documentation has been done and signed by the authorities,after that any major changes should be included in the next version to avoid any conflicts.

2.)  Analysis and Design: Test analysis is the way to create and design test cases. First we need to design and write testcases based on the documentation like requirements, design, design specifications, product risk analysis, architecture and interfaces. There are many techniques to derive or select a test case.Since complete testing is impossible so finding no defects doesn't mean that the product is defect free. One should work on the various testing techniques to design the testcases. These techniques are:

For Functional testing
  • Equivalence partitioning
  • Boundary value analysis
  • Extreme input testing
  • Cause-effect graphing
For Structural testing
  • Dynamic and static analysis
  • Static Analysis
3.)  Implementation and Execution: After designing the testcases , we need to decide the test data, software specifications and hardware.Once the data is decided, test cases need to execute and log the results. If the functionality is new , black box testing has to be done but in case it is a regression testing, appropriate automation tool can be introduce to save the time and energy.There are different types of testing depending upon the stage, these are :

  • Unit Testing
  • Integration Testing
  • Functional testing
  • System Testing
  • Stress Testing
  • Performance Testing
  • Usability testing
  • Acceptance Testing
  • Regression Testing
  • Beta Testing

All type of testing should be done thoroughly , however, the scope of each testing should be define in the test plan to avoid any conflicts among the teams.


4.)  Evaluating exit criteria and ReportingIt is very important to decide the test data strategically and document everything in the test case including the steps"How to reproduce". There are different defect tools to log the bug depending on the budget. It is a wise step to use a defect tool as it will save lot of confusion especially between the development team and the QA team.  Also, while logging the defect , it is important to set specific severity and priority of the defect.  If you have a QA team of more than 2 person, it is good idea to check the defect tool for the duplicacy before logging the defect. A tester should always be ready to reproduce the defect for the ease of the developer or in case of an intermittent defect, it is advisable to note down the conditions correctly. For every organization, the Exit Criteria differs, but it should be discussed thoroughly in the Test Plan document.

5.)  Test Closure activities:  Check all the milestones are achieved; all the deliverable should be transfer to the appropriate teams. Many organizations, keep a session of RCA i.e. Root Cause Analysis and gather the information where they are lacking behind. This activity helps in the future projects.




1 comment:

Unknown said...

Your post based on basics of Software testing is worth reading. I work in an IT outsourcing company where we deliver services of IT like mobile app testing, software testing, SEO, CPI Promotion and a lot more services. You can check out our services.