Services   AQT Home

Services  

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

Application Domains  

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.

Consulting and Quality Assurance  

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.

Software Testing  

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.

Tests & Investigations  

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.

   Functionality Analysis  

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 & Load Analysis  

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  

  • 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 Analysis  

  • 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 Server/Component Testing  

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.

   Communication and Integration Analysis  

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  

  • 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).

   Technical Requirements Analysis  

  • 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.

   White Box Testing & Source Code Analysis  

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.

Cause Analysis and Test Results Interpretation  

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.

Regression Testing  

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.

AQT Home
Company Profile
Services
Methodologies & Tools
Expertise
Facilities
Services Process Model
Publications
News & Events
Success Stories
Helpful Links
Contact Us

[ Home ] [ Company Profile ] [ Services ] [ Methodologies & tools ]
[
Expertise ] [ Facilities ] [ Services Process Model ] [ Publications ] [ News & Events ] [ Success Stories ]
[
Helpful Links ] [ Contact us ]