Software quality today concerns the great majority of those connected in one way or another with the IT industry. Clients, investors, project managers, analysts, designers and, of course, software developers ponder daily over how to build "zero defect" systems.
Developing high quality software is more than complicated. The sheer complexity of software packages requires from software manufacturers to focus on quality from the very beginning. This does not come cheap. Studies show, however, that neglecting quality leads greatly increases costs and jeopardize the whole project.
Amphora Quality Technologies performs the
full spectrum of
analysis and quality assurance services during all stages of system development life cycle (SDLC).
First, AQT, together with the client, drafts a
QA Strategy defining specific
objectives and tests to reach them, as well as
formal success criteria. Upon analyzing project information and client requirements, AQT analysts develop an individual plan of action - the Quality Assurance Plan - allowing provision of the required software quality level with minimal expenditures and in the shortest period.
Based on the developed QA strategy, AQT performs
Consulting, essential
test investigations and
Results Analysis.
Testing and QA arrangements provided by AQT use principles of the
Rational Unified Process object oriented software engineering methodology. Our leading specialists have over four years of experience using approaches promoted by
Rational Software corporation and
Object Management Group. Contemporary quality assurance and testing techniques, unified rendering of information into RUP artifacts and UML models, and the best automation tools allow the AQT team to offer the best value to the customer.
Testing is one of the most important measures of ensuring quality of software products. AQT's specialized Web, Functionality and Performance Labs as well as the Research Department perform a
full spectrum of tests for a broad spectrum of software systems.
First, AQT analysts develop a Test Plan based on the QA strategy. It determines the testing techniques and tools to use (manual and automated), test completion and success criteria, the
range of tests to conduct, as well as hardware and software configurations to use. Further steps are conducted according to the Test Plan approved by the customer.
The following stage of Test Planning is Test Design. It describes and creates Test and Workload Models, test procedures and test cases.
A Test Model defines what will be tested. Its role is to clearly define software functionality and
characteristics to check and methods of doing it.
A Workload Model is created to identify and determine different variables that affect system's performance and the measures needed to assess it.
Once tests have been planned and designed, we start to implement (record or program) within the context of a
test automation tool or programming environment the test procedures that were defined in Test Design.
AQT actively uses test automation solutions for Internet, Functionality, Performance, Reliability and other tests. Creation and launch of test scripts, generation of
input data stream, load emulation, test parameter monitoring and other operations are performed with the assistance
of specialized tools. In many cases, when third-party testing automation systems do not cover all the requirements of
investigations being performed, AQT independently develops essential components.
Efficient use of automation allows us to perform the full spectrum of investigations with high accuracy.
See Methodologies & Tools for detailed information regarding tools and products used by AQT.
Testing consists of the following operations:
- Test environment setup to ensure that all necessary components (hardware, software, tools, data, etc.) are present and connected;
- Test environment initialization and stabilization to ensure that all components are ready;
- Conducting test procedures.
The launch and monitoring of most investigations are performed automatically by specially set up utilities, allowing to control test scenario execution around the clock without human intervention.
Upon completion of tests, a detailed report on all discovered defects is entered into a defect-tracking database available to the client via e-mail or WWW. After the client has fixed the "bugs,"
Regression Testing can ensure that they have been corrected and no further errors introduced.
Test Evaluation is conducted to determine the quality of the test target. The measures used are
coverage and
quality.
Test coverage measures completeness of testing. It is based on the coverage of testing, expressed either by the coverage of test requirements and test cases, or the coverage of executed code.
Quality indicates how well the software meets the requirements. It is based on the evaluation of test results and the analysis of discovered defects.
Software quality is a complex indicator, described by a multitude of parameters, most of them calculated based on test results. Testing presupposes the performance of
hundreds and sometimes thousands of experiments.
The result of each one, as a rule, constituting a fairly voluminous report on test execution.
In order to make this information easy to digest, AQT specialists perform
integrated analysis and interpretation of results, calculating qualitative metrics, and performing comparative analysis. The client is then presented with a detailed report, containing full information on the investigations performed and an
expert evaluation evaluation of the results obtained, prepared by AQT analysts.
Upon client's request,
cause analysis may also be performed.