Testing

Testing, Securtiy and Performance...

...are key non-functional requirements that are the responsibility of the entire delivery team. We deliver this triad via quality assurance at every stage of the iterative delivery process. Security and performance are also achieved via following industry recognised best practice and sound governance. We understand the importance of testing in successful project delivery; we strive to deliver quality assurance at every stage of the process.  The training we provide to staff and the tools we use ensure our acceptance criteria are met. The Project Manager acts as an additional quality gate pre-deployment.

What is software testing?

Testing is a process used to help identify the correctness, completeness and quality of developed computer software. Software Testing is the process of executing a program or system with the intent of finding errors. Or, it involves any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.

Why Testing?

There are two fundamental purposes of testing: verifying procurement specifications and managing risk.

Firstly, testing is about verifying that what was specified is what was delivered: it verifies that the product (system) meets the functional, performance, design, and implementation requirements identified in the procurement specifications.

Secondly, testing is about managing risk for both the acquiring agency and the system’s vendor/developer/integrator. The testing program is used to identify when the work has been “completed” so that the contract can be closed, the vendor paid, and the system shifted by the agency into the warranty and maintenance phase of the project

Phases of Testing

 

Testing Strategy in Agile Methodology

Testing within a sprint:

  • Testing activities are done in parallel with the design and development work.
  • Write test cases for system tests. Create test steps. If there are storyboard slide shows, write steps that work through these stories. Writing down the steps in advance is important: it avoids a bias towards what the system actually does.
  • The testers are involved, both passively and actively, in each step to gain an understanding of the customer’s requirements and thus identify what needs to be tested.
  • The planned tests should include, as a bare minimum, the requirements being implemented for that sprint.
  • The two most popular methods for testing within a sprint are:
  1. Execute tests upon completion of the designated sprint scope items. That is, schedule time within the sprint to allow test execution to occur.
  2. Execute tests as code is completed. That is, tests are executed on the software as scope items are completed. Perform exploratory tests of the new features. Exploratory testing is vital to get a feel for how the product works, and to find unexpected behaviours. From exploratory tests, you will usually decide to write some new test cases.
  • Regression can be included within the test activities for a sprint but this is usually only feasible on a new product that has had less than four previous sprints. A regression test can be scheduled after several sprints to ensure the software continues to function as expected.

Deliverables

 

  • Resilience Testing
  • DCI Compliance
  • OWASP
  • Penetration Testing
  • Early warning for updates
  • Best practice assessment
  • Security updates
  • Live bug tracking
  • Performance monitoring and assessment
  • Architecture and performance review

 

Please click the link below to download our Testing service brochure.