Amphora Quality Technologies believes that quality has strategic meaning for any
business. With AQT as your partner in Independent Software Validation and Verification, you can improve product
quality, free up technical and intellectual resources, lower overall development costs and develop
your products faster than ever before.
AQT offers a well-established and proven array of services, which encompasses the entire system development
lifecycle allowing delivery of a competitive product to customers.
We provide comprehensive Quality Assurance and Testing services
to software developers and corporations worldwide.
Application domains
Consulting
Tests & investigations
Cause Analysis and test results interpretation
Regression testing
Amphora Quality Technologies has particular expertise in QA and Testing of the
applications of the following types:
- Banking and Finance solutions;
- Client-Server business
applications;
- Electronic document management and Workflow;
- Data Warehousing solutions;
- Application servers & Middleware;
- Networking solutions;
- Geo Information System (GIS)
- based solutions;
- Multimedia applications;
- Object Oriented development
tools
See AQT Experience for details.
The provision of software quality assurance is a complex process requiring highly qualified personnel,
a well-run development system and an understanding of priorities. However, this is all just part and parcel of success in
this field. It is not enough to competently utilize the rules of the selected development methodologies and control quality.
Amphora Quality Technologies provides comprehensive assistance and consultation in organizing processes
that result in high-quality software. AQT analysts are very well versed in the object-oriented engineering methodologies of
the Rational Unified Process software at the topmost professional level. They are experienced in providing quality in the
biggest software projects. Our research department personnel carry out their own scientific studies directed towards development
of methods of analysis and forecasting according to research test results.
The development of high quality systems requires a series of special measures to be initiated right at the
beginning of the development cycle. AQT's analysts will either develop a quality assurance strategy for you, or help you create
this strategy independently. We will be happy to implement proven software analysis, design, development and testing methodologies
for your organization.
AQT analysts will perform an appraisal of project documentation and system architecture.
Our experienced consultants will propose recommendations and specialized program tools for the
organization of project database, management configuration and the performance of automated testing. AQT
will assist in the effective organization of information exchange between your team members and will
oversee correspondence between UML model documentation and RUP requirements. Company experts will develop
and train your personnel in the use of metrics. This will result in the best methods for determining your
software characteristics and forecasting their change dynamics.
If necessary, we are prepared to take on test investigations and organize regression testing, along
with test results interpretation and analysis of problems detected. In close cooperation with your specialists, AQT's
experienced consultants will develop an individual software testing program. By taking into account technical project
characteristics and priority requirements in respect of the software, our testing experts will help you determine exactly
what tests and investigations must be performed for effective localization and elimination of problems.
 |
|
Amphora Quality Technologies performs a full spectrum of tests and investigations directed towards the
measurement and evaluation of various software quality characteristics. It does not matter whether your system is ready
for delivery to the client or if you have just started developing a prototype. We will provide exhaustive and reliable
reports regarding project requirements, performance and reliability, along with many other quality parameters.
In addition to testing, AQT performs architectural and technical solution analysis, and can review your project documentation.
Contact us and let AQT analysts develop an integrated testing and quality assurance strategy for your
IT project. They will also help you evaluate and refine measures you have already taken.
Software quality evaluation by AQT specialists means analysis of project materials,
requirements and priorities, planning and performance of test investigations and appraisal of the results
obtained. All project stages are accompanied by appropriate Rational Unified Process and Unified Modeling
Language model documentation, systematizing the information into a convenient format.
Upon test conclusion, investigation results are summarized and presented as a formal
report. This report contains a detailed description of work performed and a list of problems detected.
For easy comprehension, unrefined test results are presented with graphics and diagrams, which clearly
demonstrate the characteristics obtained at a glance. Apart from this, the report contains an expert
evaluation of software quality prepared by AQT analysts. If necessary, comparative analysis of system
characteristics is performed with previous versions or selected standards.
Test process organization and quality assurance by our company is described in
detail in the QA & Testing process section.
See Internet & e-Business QA solutions for additional information.
Software quality is a complex and integrated notion. Qualitative evaluation is
achieved through the application of metrics covering functionality, reliability, performance and many other
characteristics. However, the most important quality criterion, naturally, is functionality correspondence between
the system and project specifications - in other words, system adequacy to given requirements.
Analysis of system functionality and evaluation of correspondence to requirements are performed
by AQT's experts.
Functionality analysis means execution of the following tests:
- Functionality Testing (black box testing)
- checks product operation against its functional specification to
ensure that operation is as designed. This test can be quite
simple to ensure primary functional operation, or as detailed as
checking a variety of scenarios and validating that all output
meets specified expectations;
- Defect Analysis - Identifies any area of
software operation which may reduce product quality;
- Visual Interface Testing - automated
Testing of visual forms functionality and ensuring that design is
in accordance with corporate standards (if requested);
- System Components Testing - Functionality Testing of individual Component
operation, including examination of DCOM,
CORBA and Java RMI components as well as other components present
as Source Code;
- Compatibility and Portability Testing - A software product is tested
across a range of platforms, operating systems and hardware and software configurations for which
it was designed to ensure the system functions as intended; In particular, AQT performs compatibility
testing between applications in the Windows 2000 Application Specification;
- Interoperability Testing - Investigations
directed towards the evaluation of system processes interaction
with external components. To be more precise: specific
hardware, device drivers and second-party software, etc. As
a rule, we are talking about testing reliability and performance
characteristics of inter-system gateways, and evaluating
effectiveness of architectural and technical solutions.
Cause analysis of discovered defects may be performed according to the results, as well as
statistical analysis of the software's qualitative quality characteristics. The use of the
qualitative metrics method of testing in conjunction with regression testing (release to release)
allows us to determine the dynamics of software quality changes making the software development process
manageable and foreseeable.
Performance and throughput are some of the most important characteristics of modern information systems.
For multinational corporations engaged in the world of e-commerce and on-line solutions, where thousands of transactions
are processed by the system in a few seconds, scalability and stability of peak loads become essential elements of success.
AQT has a team of specialists highly experienced in software testing,
analysis and performance optimization. The leading specialists already have more than ten years
experience in precisely this sphere and are experts in perormance optimization of large systems on
diverse platforms - from PC to IBM AS/400.
The main goal of the team is the detection and localization of "bottlenecks"
and non-optimal solutions in the system. AQT specialists analyze the architecture and technical solutions used by
the system developers, perform experiments, create temporary profiles and perform component debugging.
The broad spectrum of basic tests performed by the lab and a series of specialized tests and measurements - Middleware
Server/Component Testing, Communication and Integration Analysis, White Box Testing & Source Code Analysis and Cause Analysis,
plus test results interpretation - allow us to reliably identify and evaluate possible paths to performance optimization.
Software quality analysis from the performance standpoint includes the following tests:
- Benchmark Testing - Tests that use a
standard, reference workload to measure the performance of a
system and compare it to a known reference system (or
measurement);
- Performance Testing - Tests using a
constant workload and varying system variables and environment
configuration to verify test target's performance behavior and
tune (or optimize) it. Measurements typically include the
number of transactions per minute, number of users, and size of
the database being accessed;
- Load Testing - Tests to verify and assess acceptability of the
system's operational limits under varying workloads.
Measurements include the characteristics of the workload and
response time;
- Distribution and Load Balancing Analysis
- When systems incorporate distributed architectures or load
balancing, special tests are performed to ensure the distribution
and load balancing methods function appropriately;
- Contention Test - verifies that the
system can acceptably handle multiple user demands on the same
resource (data records, memory, etc.);
- Volume Testing - Testing that focuses on
the ability of the system to handle large amounts of data, either
as input and output or resident within the database;
- Stress Testing - Tests that focus on
ensuring the system functions as intended when abnormal conditions
are encountered. Stresses on the system may include extreme
workloads, insufficient memory, unavailable services/hardware, or
diminished shared resources;
- Scalability Testing - Tests to measure
and analyze speed of product operation on different
hardware/software platforms and database management systems.
| |
 |
|
- Reliability Testing - tests product
during a continuous period of operation under conditions of heavy
load and high volume.
- Integrity Testing - tests, that focus on
assessing the system's robustness (resistance to failure) and
technical compliance with language, syntax, and resource usage;
- Security Testing - Checks database and
communications security level and conducts overall analysis of
architecture and quality of product's security sub-system;
- Vulnerability Testing - Tests focused on
a search for potential Software Vulnerabilities leading to
unauthorized access to information or system faults.
Middleware constitutes one of the most important components of contemporary
information systems and e-Business solutions. As a rule, business logic and specialized inter-component
gateways function within the Middleware framework, providing an effective interface between program
layers. The quality and performance of the server system at an intermediate level are largely determined
by the corresponding software characteristics as a whole.
AQT has extensive experience with development of Middleware test suites, particularly
Transaction monitors, Application servers and Component Object Request Brokers.
Middleware testing includes functionality, performance, interoperability, security and other tests.
Test subjects include the middleware server itself, application business components and the communication subsystem
Middleware testing is performed by professional developers, AQT Performance Lab's most experienced specialists.
It involves creation of specialized auxiliary software systems and components allowing to obtain full information
about server performance characteristics in different regimes and to build components' timing profiles.
This unique expertise makes AQT ideally qualified to design and implement tests for
N-tier distributed applications and middleware.
AQT has successfully completed a series of projects in respect of analysis and
optimization of performance of multi-level systems in client-server architecture. Quite often,
"bottlenecks" are discovered in the communication subsystem or at the point where software layers
interface. AQT team uses special equipment to analyze interaction performance between business
components of distributed systems.
Apart from load testing, AQT performs the following tests:
- Network Traffic Analysis -
investigations directed towards the evaluation of network exchange
performance between distributed components of heterogeneous
systems; this analysis is subject to the architecture and
technical solutions used upon creation of the communications
subsystem;
- Integration Analysis -
investigations of structure and filling of inter-component
information streams of multi-level object-oriented systems with
the goal of detecting bottle-necks and non-optimal solutions;
Analysis subjects include system interface components, and also
the quality and constitution of messages/calls transferred.
The AQT performs additional experiments and analytical investigations
in this sphere, allowing the provision of great accuracy and reliability of investigation test results.
Furthermore, this allows cause analysis of problems detected. See White Box Testing &
Source Code Analysis for detailed information.
- Usability Testing - Testing in a true
end-user environment in order to check whether the system is able
to operate properly in accordance with the exact set of processes
and steps applied by the end-user, including user's interface and
system convenience estimation;
- Installation, Update and Configuration Facilities Testing - Determines how well and how easily a
product installs and updates on a variety of platforms, software
configurations and under different conditions (such as
insufficient disk space or power interrupt).
- Compliance Analysis - Checking the
accuracy and completeness of technical requirements set by
developers to software operation environment;
- Requirements Correctness Testing -
General Functionality, Performance and Reliability analysis of
system operation on various hardware and software platforms and in
various configurations regulated by technical requirements.
The presence of source code and software technical specifications broadens the possibilities
for a series of test and analytical investigations and significantly increases their reliability because of access
to all information pertaining to the architecture and to the actual way in which components were created.
In conjunction with this, there is a series of specialized investigations, whose execution, in principle, is not
possible if the system is viewed as a "black box."
AQT's experts perform a series of tests and investigations using information available
on the architecture and software source code, checking functional reliability, load test results and performing cause
analysis of problems detected during testing.
Some of the measures performed by AQT in this sphere are listed below:
- Evaluation of Internal
Architecture and Particularities of System Creation - an
investigation directed towards a search for non-optimal
architectural, technical and program solutions used in project
preparation and system development; this analysis presupposes a
series of tests as well as study of system specifics and source
code;
- Computation and Source Code
Analysis - based metrics of software quality and test coverage -
correspondence of different system quality indicators and
completeness of testing performed with individual components,
procedures and functions;
- Creation of timing profiles - precise measurement of time spent by different
system components to complete various functions; This investigation is an important part of
Performance & Load Testing, and also Communication &
Interoperàbility analysis; In certain cases, profiling may be performed in the
absence of source code;
- Detailed Analysis of
Reliability and Stability - operability testing of different
system components whilst in continuous operation. This
investigation presupposes full-scale product functionality testing
and identification of source component faults and defects;
- Component Testing - quality
analysis of individual components or structural parts of the
system by means of integrated testing of their functionality and
interfaces in an artificially created environment. Very
often, this investigation includes functionality and performance
testing. In many cases, component testing may be performed in the
absence of source code;
- Correlation Testing - an
investigation directed towards the analysis of mutual influence of
different components or program layers. During this
analysis, a series of system components may be replaced by stubs
or subjected to independent testing. In many cases, systems based
on component architecture may have correlation testing performed
in the absence of source code;
- Template Testing - a
comparative quality characteristics (most often performance
characteristics) analysis of individual components or system's
structural parts and analogous characteristics of authoritative
templates. A template, as a rule, is a simple component or program
performing largely analogous functions to the real component.
However, it is built into a simple architecture and deprived of
non-basic business logic, computation and input-output functions,
inevitably present in the system. Template characteristics
may be obtained by experimental or analytical means;
- Error and Defect
Localization - investigation of source component problems.
As a rule, we are talking about functionality and performance
testing. However, this investigation is equally useful for cause
analysis of defects discovered as a result of other
investigations. Analysis of functionality correspondence
between individual system components and debugging of system
components are also carried out;
- Static Analysis of Source
Code - check of semantic and syntactical compliance of source code
with defined rules. This type of investigation is performed
in order to check compliance of source code with corporate
standards or to detect use of "forbidden" constructions and
functions. The latter is essential in performing "system
branch certification" or in re-engineering large software systems.
 |
|
High qualifications and vast experience of AQT experts accumulated on a number of large SQA projects
allows us to offer our clients turnkey solutions in software quality assurance. In addition to test investigations,
systematization and appraisal of results we also perform cause analysis of code defects and functionality problems.
Software quality can be expressed by a multitude of parameters.
Their determination requires a large number of tests and a thorough analysis of their results.
Upon completion, AQT presents the client with a formal report containing full information on the characteristics of
the product that are of interest to him. Besides raw data, such report contains detailed descriptions of work performed,
interpretation of test results and metrics and an expert summary.
After this, the software developers face the task of localization and elimination of problems detected
during the investigations. Cause Analysis of defects and interpretation of measured characteristics in order to optimize
them is as labor-intensive as testing itself. To do this, evaluation of system architecture and source code debugging of
individual program components and possibly additional test investigations need to be performed. To be efficient, this
process should involve the specialists that discovered the problems.
AQT proposes a more convenient and effective solution: cause analysis of the reasons for defect appearance,
interpretation test results and definition of possible methods of eliminating the problems.
Whether we are talking about product functionality, performance or security, AQT will perform cause analysis quickly
and effectively. The AQT team consists of highly qualified professional programmers with a broad grasp of contemporary
technologies and development methods. In close cooperation with our clients, AQT experts will perform an exhaustive analysis
of investigation results, uncover reasons for the problems detected and possible ways to correct them.
AQT will also perform a series of specialized investigations, significantly increasing the effectiveness
of the cause analysis process and the reliability of conclusions reached. Many of these measures are described in detail
in White Box Testing & Source Code Analysis.
The Rational Unified Process Software Engineering Methodology regulates iterative approach to
software development. All project stages - planning, analysis, design, development and results evaluation - are performed
repeatedly for each stage of work on the project. A full production cycle is performed for practically each step.
This approach provides increases quality of production and significantly decreases risk.
It is particularly attractive when we are talking about software quality assurance.
On the one hand, defects already detected must be corrected. This must be confirmed by verification tests.
On the other hand, the quality of each new release must be confirmed by comprehensive testing of its functionality and other
characteristics.
Thus, we have a set of essential tests already formulated, to perform from release to release,
regularly controlling software quality. As software develops and changes, so will the test set.
However, it should always provide comprehensive quality control of functionality and ensure that defects discovered
in previous iterations are fixed.
This process is called regression testing. AQT has successfully applied it, from the business
process modeling stage to the maintenance stage, while our defect database management provides clients with convenient
access to information in real time and facilitates reporting.