Function of software is key to any business we’ve got you.

Functional testing is the backbone of software testing. It is the art of applying a human brain with a tuned skillset of destructive and creative problem solving to identify test cases that might yield information about how able, or unable a software change is to achieve its function. Functional testing is where the test cases come from. Most other types of testing are modelled on the methods that are tried, tested and proven in functional testing. It is the first technique all companies must master before moving onwards to optimisation and simplification.

  • Our functional testers will work with your business analysts to create detailed, testable requirements then with these, design test scenarios that will exercise positive, negative and alternate pathways to ensure the expected behaviour occurs, and unexpected behaviour does not.

  • PTP's functional testers will work with you to plan execution cycles, namely identifying which test cases should be executed, when and where and then at the appropriate time and location, execute and produce detailed results. In situations where defects are found, we'll capture the failures with detailed results so that your development team or partner can resolve the issues found.

  • Regression testing generally refers to two seperate types of tests that are run as one suite. Firstly software changes over time, a feature that was delivered in a previous sprint, may now not work as a result of a new change. Regression testing will detect this. Secondly, defects found and fixed in the past can re-emerge due to code, configuration change or even data. Regression testing finds these too.

  • Your business unit operators know their craft. Taking them off the line to test new features and capabilities is important, but also painful to the business. We can help. We can work in many different ways- we can assist your SME's by documenting their scenarios and running them for them so they can focus on their day job. Alternatively, we can work at their direction to ensure they are across the new changes while still having the time to do their day job.

  • Small development teams working in parallel allow complex software to be built quickly, the problem with this approach is that the product of these teams needs to be integrated. At a code level this can be done automatically and each team's changes can be easily re-tested in isolation. Testing all the changes together is a different story. We can help you to design scenarios that cross team and system boundaries to ensure that your changes are working correctly as one holistic unit. This is where most problems occur and unless system testing is done well- these issues tend to "leak" out in performance, security and UAT testing.

  • Every bug or defect found, is a potentially a problem that could impact a user or customer. They range from cosmetic through to system breaking. Our functional testers would work with you to understand your risk appetite and raise defects as we find them, triage them and work with your development team or partners to ensure they understand the defect, then re-test and close them upon correction.

  • End to End testing, sometimes referred to as "Golden Path" testing is a test type that looks at the mission of a user and traverses all data, features, modules and capabilities on one or more pathways to achieve that mission. These are arguably one of the most important tests as they tell you whether that flow is working or not, whereas some test types can pass or fail and leaving you wondering what exactly that means, with E2E- the impact is very clear and measurable as a decision maker.

  • Exploratory testing is a type of testing that fuses learning with testing to discover behaviours that may or may not be expected. The testing type is often wrongly labelled as "ad hoc", when in fact it is a highly structured approach that has specific aims and goals and is governed by test management.

Our Approach

  • Thoroughly understand requirements to ensure comprehensive test coverage.

  • Focus on high-risk and frequently used functionalities first.

  • Ensure all requirements are covered by corresponding test cases.

  • Keep test cases up-to-date with any changes in requirements or functionality.

  • Engage real users in testing to capture usability issues and feedback.