Testing

The moment you start working with Keytree, and your IT software infrastructure starts to go through its revamp and upgrade, our highly experienced team of Testers will be with you all the way. The team will liaise with you directly, and inform you as to the best approach when testing the updated systems.

At Keytree, we work hard to shake off antiquated perceptions of IT to the present customer focused, data-driven intelligence. Keeping us more in line with the consumer-focused digital era, as our aim is to raise the bar on testing productivity and speed while delivering higher quality applications at lower cost.

Keytree deploys a wide range of methodologies, ensuring all software installations meet the needs of an organisation. This process is done in a variety of ways, as one specific software development methodology framework, may not suit all projects.

Having developed our Testing Services over the last decade, we pride ourselves on not just seeing this as another stage in the development lifecycle, and there are multiple reasons for this progression including:

  • The move to more mission-critical Enterprise Systems, with customer facing systems heavily digitised
  • IT mobile and applications are becoming more consumer-based, increasing the focus on channels that deliver content, including IT requirements within the IT infrastructure
  • The strain of mounting complexity, on the back of advanced system integration

Working alongside our team of experienced Testers, Keytree will ensure the best-suited approach is provided. The testing process could be using Waterfall or Agile methodologies, with testing aligned to this approach. If time is of the essence, and you want to get to market quickly, then the Lean approach can be arranged, so you can be up and running quickly.

We understand the importance of Quality Assurance, which we aim to maintain at all times, and a bespoke testing strategy provided by the Keytree Testing Department, will provide the obligatory methodology and tools required. We have also seen an increase in the adoption of Lean, allowing for a more combined approach to testing in the Enterprise – and this is an approach that we fully embrace.

Keytree also offers support contracts, which are available once a system goes live. It allows clients to detect any defects in production and we will set up regression suites, to ensure any production fixes do not impact production.

Although a discrepancy in expectations may occur, we believe Testing must always remain independent of the development process. On completion of testing, we will have a clearer vision of how to manage and overcome any potential concerns that may arise. And with the high level of professionalism that is provided, a mature outcome is always reached.

A sample testing cycle

Although variations exist between organisations, there is a typical cycle for testing. The sample below is common among businesses employing the Waterfall development model. The same practices are common in other development models but might not be as clear or explicit.

Requirements Analysis

Testing should begin in the requirements phase of the software development life cycle. During the design phase, Testers work to determine what aspects of the design are testable and with what parameters those tests work.

Test Planning

A test strategy, a test plan and the creation of a testbed is essential as the plan itself is one of the most important elements of this process.

Test Development

We will create test procedures, test scenarios, test cases, test datasets, test scripts to test software.

Test Execution

Testers execute the software, based on the plans and test documents – any errors found will be passed on to the development team.

Manual Testing

The process of manually testing software for defects, which requires a Tester to play the role of an end user – using most or all features of the application to ensure correct behaviour. To ensure completeness of testing, the Tester follows a written test plan that will act as a guide following a set of important test cases.

Automated Testing

The use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Automated testing can automate some repetitive but necessary tasks in a formalised testing process already in place.

Performance Testing

Performed to determine how a system operates in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.

Non-Functional Testing

In Non-functional Testing, which is carried out at all levels, these checks review quality characteristics of the component or system. Non-functional refers to aspects of the software not linked to a specific function or user action such as scalability or security – such as how many people can log in at once?

Test Reporting

Once testing is completed, Testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release.

Test Result Analysis

Or Defect Analysis, is done by the development team usually along with the client. This process is to decide what defects should be assigned, fixed, rejected (i.e. found software working properly) or deferred to be dealt with later.

Defect Re-testing

Once a defect has been resolved by the development team, the testing team retests it. Also known as Resolution Testing.

Regression Testing

It is common to have a small test program built of a subset of tests, for each integration of new, modified, or fixed software. This approach ensures that the latest delivery has not ruined anything – and the software product as a whole, is still working correctly.

Test Closure

Once the test meets the exit criteria, the activities such as capturing the key outputs, lessons learned, results, logs, documents related to the project are archived and used as a reference for future projects.