Browse Prior Art Database

A system to optimize software testing through the application of analytical decision management systems

IP.com Disclosure Number: IPCOM000246372D
Publication Date: 2016-Jun-02
Document File: 2 page(s) / 49K

Publishing Venue

The IP.com Prior Art Database

Abstract

The role of software test is to reveal quality issues in software. Exhaustive testing for non-trivial programs is generally impossible due to dynamic real-world limitations such as time, hardware available for testing, etc. Given the inconstant nature of these limitations it is difficult to identify the optimal testing to perform: the testing conforming to the limitations which is likely to uncover the most quality issues. This article describes the application of an analytical decision management solution to determine the optimal testing to perform based on historic test data and the constraints it was performed under.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 2

A system to optimize software testing through the application of analytical decision management systems

Testing software requires running a vast number of tests against the product code and often on multiple platforms (e.g. mobile phone handset hardware, operating systems, etc and combinations thereof). Therefore it is usually the case that exhaustive testing of software products is limited by two key factors: > Time: With a large test corpus the execution time for running every test can take longer than is feasible (even when running the tests asynchronously) > Available Hardware/Processing Power: It is not cost effective for businesses to provide enough hardware/processing power to allow full testing of all platforms on every build.

    Therefore it is in the interest of software test teams to be as efficient as possible, allowing them to make the most effective use of these limited resources. This article describes a solution in which the test/build framework used for software testing integrates an analytical decision management system which is used to inform its behaviour based on business rules and/or constraints. For example:- > With key deadlines approaching a developer may request a test run with the constraint the he/she needs to report to management in 4 hours. This constraint of 4 hours testing time is then used by the analytics decision management system to identify the optimal test strategy to apply. > Test hardware is limited and at busy times developers may be forced to wait for test hardware to become available. At these times of peak use the amount of hardware available for a given test run may be a constraint along with how much additional time developers are willing to wait for their testing to complete so the analytical decision management tool can identify the optimal test strategy to apply based on these factors.

In each case above, the optimal test strategy may involve:

> Omitting testing on certain test platforms. E.g. a number of platforms may have less failures overall and be omitted, some platforms may have very limited hardware availability and so be omitted. > Omitting running certain test suites. E.g. a number of suites may regularly pass without failure or may have very long execution times so may be omitted. > Omitting running certain individual tests. E.g. a suite contains a mixture of tests, some may fail often, some may fail rarely and some may have long execution times and omitting some of these individually may be strategic. > Splitting test workload amongst additional hardware. E.g. if a large amount of test ha...