Testing Methodology

In order to offer a high-quality and stable product, our team builds our testing methodology based on Six Sigma.

For the measurement, analysis, improvement and the control of our products, we have set 3 layers of testing:

  • Quality Control
  • Quality Assurance
  • Quality management.

Quality Control is specifically aimed to measure and control the overall quality of our products. At this level, we ensure the following:

  1. Functional testing involves testing the application against the business requirements, it is broken down into six components:
  • Unit testing: The testing of the lowest unit of any application or system. These tests are usually written by the developers of the components.
  • Integration testing: When components are integrated together to perform specific tasks and activities, this is also known as scenario testing. This testing is done through manual and automated functional tests depending on its complexity.
  • System testing: This is what we call black box testing, where test cases are defined with input parameters and different combinations of test data passed to the manual and automated tests. This ensures that both expected and exception cases are tested.
  • Data Integrity test: We verify the accuracy and consistency of data in the front end and back end products. Data integrity is tested by the following tests:
  • Verify that you can create, modify, and delete any data in tables.
  • Verify that sets of radio buttons represent fixed sets of values.
  • Verify that a blank value can be retrieved from the database.
  • Verify that, when a particular set of data is saved to the database, each value gets saved fully, and the truncation of strings and rounding of numeric values do not occur.
  • Verify that the default values are saved in the database if the user input is not specified.
  • Verify compatibility with old data, old hardware, versions of operating systems, and interfaces with other software.
  • Regression test:  We confirm that our recent program or code change has not adversely affected existing features. Therefore we re-execute all tests on updated software to ensure that existing functionalities are still working fine
  • Acceptance testing: This is the final phase of functional testing, where we make sure that all the product requirements have been met and the customer has tested the product and approve it.
  1. Non-Functional testing involves testing the application against the non-functional requirements, it is broken down into four components:
  • Performance testing: We test our application using system tools, for example in IOS we use instruments to test performance, memory allocations, memory leak, etc. For Android, we use DDMS and MAT, and for the web we use WebLOAD.
  • Security, Vulnerability Testing: Security testing tests the software for confidentiality, integrity, authentication, availability, and non-repudiation.
  • Usability testing: This testing looks at the end-user usability aspect of the software. Usability testing looks at five aspects of testing, – learnability, efficiency, satisfaction, memorability, and errors.
  • Compatibility testing: We check whether our software is capable of running on different hardware, operating systems, network environments or mobile devices.
Quality Assurance (service level management) is a process executed to meet the expectations of customers; Our quality assurance system is meant to increase customer confidence and the company’s credibility.
Quality Management is a Continual improvement process; from the idea that the long-term success of a company comes from customer satisfaction, we oversee all activities and tasks needed to maintain the desired level of excellence in all our software



Copyright 2019 Phoenitech All rights reserved.