...Testing Methodology
 

Sofient has quiet a vast experience in software testing field. Our Five-Step testing methodology has helped us to minimize project risk, streamlining testing releases. We start the testing course by developing a comprehensive test plan. The test plan includes the testing criteria for general functionalities along with specific requirements, on a number of platform combinations.

1. Test planning : It includes the following steps:

  • Collecting of requirements, their analysis and specification;
  • Test plan, test scenario, test cases preparation and approval;
  • Automated testing tools appropriateness assessment, tools selection and confirmation.

Test planning is carried out on the basis of IEEE Standard for Software Test Documentation (IEEE Std 829-1998) and other industry specifications.

2. Testing environment and harness preparation: Test automation framework design and development, test scripts creation. There is a large set of testing equipment, system software and Web middleware. This ensures creation of proper testing environment and essentially decreases the time for testing configurations deployment.

3. Testing execution : Manual and automated software testing :

  • Functional
  • Bug and functional regression
  • Load / Performance / Stress
  • Compatibility
  • Usability (GUI)
  • Configuration
  • Localization
  • Documentation

For each of these types of testing we have established approaches, proven testing tools, and adjusted reporting documents templates. Testing techniques applied:

  • Black Box / Gray Box / White Box testing
  • Ad Hoc / Exploratory testing
  • Scripted testing

4. Testing Reporting : Testing reporting, analysis and bug fixing management.

We use the industry-recognized bug tracking tools like Jira, BugZilla. Online mode allows both parts (the managers and IT specialists on a customer's side as well as Bug Huntress testers) to work as a single team and ensures the comprehensive customer's control.

5. Final reporting and analysis: Defects analysis and recommendations regarding improvement of the tested software and the process of its development.