Write to us Site map Questions and answers
The firm
Software development
QA & testing
WEB works
Data entry & management
Contact us

 

Our approach

Development process Project organization Software QA and testing Tools and technologies How we measure our performance  
 
 

 

Testing always spans all stages of software lifecycle. It is much too late to start testing after software product is implemented. The cost of fixing faults introduced in earlier phases would be very high.

Software testing requires careful testing and diligent execution. It starts with a test plan. Test plan is a document that identifies the high-level project information and software components that will correspond to test cases. It describes project's testing strategy, identifies QA resources, efforts, schedule, and cost. Test cases describe definitive sequence of steps to break the software. Each functional module has one or more test cases defined.

The most effective testing is conducted by a separate dedicated QA group that is charged with responsibility for product quality. The first pass at testing is always done by the developers themselves. They are responsible for unit testing, and initial integration testing. However individual developers always remain somewhat blindfolded by the work they have done to implement their modules, making certain assumptions, and missing some border conditions.

The more testing is packed into early development stages the better payoff.

Testing begins as soon as requirements and design documentation matures. Their testing procedures consist of walkthroughs and inspections, implemented as formal reviews.

Each formal review is a planned meeting that target a particular part of the systems documentation. Formal reviewer studies documents, and raises questions during the meeting. The goal is to decide, if each issue represents a problem, without concentrating on a solution.
Thanks to the 'team synergy' and friendly creative atmosphere reviews are a great tool in early detection and correction of many design faults.

Execution-based testing starts once builds (early releases of the software) are made available.
Execution-based testing of a typical project includes:

  • User interface testing
  • Database testing
  • Security and authorization testing
  • Performance testing
  • Stress testing
  • Fault-tolerance and fail-over testing
  • Compatibility and configuration testing
  • Installation testing

 

more •>

   
ALG Systems top