Quality Assurance

Quality assurance is an important part of every business activity in our 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 Reviews every phase of the software development life cycle: specifying the software 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 (function, 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 software 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 HP’s Quick Test Pro,Badboy & Selenium) are used for regression tests.

Every founded 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 as ‘Open’. The person can also decline the bug by modifying the responsibility for it if it’s wrongly identified. After the bug is fixed, the responsible person changes its status as ‘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 as ‘Verified’. If the bug is not fixed, the person changes status as ‘Open’. So our QA team follow up an issue throughout the defect 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 software development
  •   Type of application, which is produced by our company, is checked by QA: executable code (applications, systems, etc.) and documentation (implementation plans, test plans, models, and user manuals)

So the QA team improves the quality of the application and the development process itself. This ensures that our customers receive high quality products in time and within budget.