Quality Assurance Procedures
Quality assurance is an important part of every business activity in ATAPY Software Company. The main goal of our QA team is to provide our customers with the products of high quality, satisfying all specified requirements, within stipulated time limits and budget.
The QA team controls every phase of the product development life cycle: specifying the product requirements, design, implementation, testing, and deployment.
Before beginning the work on the project a testing strategy is defined. This document describes the general approach and objectives of the test activities. It includes the stages of testing (unit, integration and system) and the kinds of testing (functionality, performance, load, stress, etc.) to be performed. The strategy defines:
- Testing techniques and tools to be employed
- Test completion and success criteria to be used. For example, the criteria might allow the software to progress to acceptance testing as soon as 98 percent of the test cases have been successfully executed. Another criterion is code coverage. For example, in a safety-critical system, this criterion may be that 100% of the code should be covered by tests.
- Special considerations affect resource requirements or have schedule implications such as:
- Testing interfaces to external systems
- Simulating physical damage or security threat
The following types of tests are performed to check the product’s quality:
- functionality tests
- usability tests (tests of consistency in the user interface, online and context-sensitive help, and user documentation)
- reliability tests (integrity tests, structure tests, and stress tests)
- performance tests
Test automation tools (such as Mercury Interactive’s WinRunner®) are used for tests, which are executed several times.
Every found bug passes through the following stages: ‘New’, ‘Open’, ‘Fixed’, ‘Verified’, etc. At first the bug is marked as ’New’ and assigned to a person, responsible for this bug. The responsible person can accept the bug and according that change its status to ‘Open’. The person can also decline the bug by modifying the responsibility for it. After the bug is fixed, the responsible person changes its status to ’Fixed’ and the person who had found the bug would be responsible for it. The person should verify that bug is fixed and change the status to ‘Verified’. If the bug is not fixed, the person changes status to ‘Open’. So our QA team provides defect tracking life cycle.
QA team adheres to the following methodology:
- Every employee is involved in the quality assurance process
- QA process covers all stages of the product development
- Every type of product, which is produced by our company, is checked by QA: executable code (applications, systems, etc.), documentation (implementation plans, test plans, models, and user manuals), and media services products (OCR results, accompanying documentation, etc.)
So the QA team improves the quality of the product and the development process itself. This ensures that our customers receive high quality products in time and within budget.