Primary goal of Quality Assurance (QA) Process in Oxagile web development company is both to evaluate current product quality and to detect and prioritize existing product defects.
Here are the QA activities according to project phases.
Inception phase of the software development project
In this phase we provide estimates on testing activities for the project. Also we define general testing approach, find out customer’s goals on the project’s quality
Elaboration phase of the software development project
The elaboration phase is where all additional test approaches get determined and clarified. Here are the main QA activities during this phase:
- Project QA Team staffing
- Project Test Plan creation
Test Plan is a document, which describes all testing approaches, which will be used for this particular project:
- Scope of testing: types of tests (functional and non-functional)
- Test Deliverables
- Release Criteria (quality goals that should be achieved to meet customer’s requirements). For example “No critical and major functional defects”
- Risks and Contingencies
Test Plan is ALWAYS created for every project.
Here are the types of tests which are usually included into the Test Plan:
- Specification tests
- Functional tests
- Technical Tests (Load, Performance, Stress, Volume)
- Automated Tests
- Security tests
- UI tests
- Localization tests
- Usability tests
- Data Migration tests
- Acceptance tests on production
Implementation phase of the software development project
This phase can be divided into 2 parts from the testing aspect.
Requirements Testing: QA Team assures that the documentation (Specification, Requirements, Design document and so on) is clear, consistent, full enough to perform development and testing according to it. In general this is a process of asking additional questions and getting answers to have a full and complete picture of the project and knowledge on it.
Tests Preparation: QA Team assures that everything is ready to start test activities according to Test Plan. The following activities are included into Tests Preparation:
- Test Cases or Check Lists creation (this highly depends on the project size and the quality of requirements provided). For small projects we suggest creating a Check List.
- Platform verification: QA Team assures that the platform is available and working
- Testing Tools preparation (for example, VPN set up, Virtual Machines, Remote Machines, tools for Automated and Technical tests set up, and so on)
Stabilization phase of the software development project
QA Team executes the selected types of tests according to the schedule which was described in the Test Plan and assures that the application has quality level requested by the customer.
Transition phase of the software development project
In this phase QA Team confirms that the application has quality level requested by the customer. This is done by performing Acceptance tests on production site.
This is how we guarantee the quality software!