Grant: Engage Grants Program
University of Western Ontario
$10,750.00
Software testing: creating smart, flexible tests from brittle recorded tests
EF 2010-11
Résumé
To make sure that their software does what it is supposed to do, software creators test their products
extensively. Cost-effective testing is crucial to a company's ability to deliver high-quality software to the
marketplace before competitors can. Tests are carefully chosen and scripted in order to ensure that all features
are tested and time is not wasted doing unnecessary tests.
Software creators prefer to be able to re-use tests. This allows them to modify the software (to fix bugs or add
new features) and check that all the old features still work. Tests can be re-used automatically by the use of
""record and playback"" software, which records the sequences of actions done by a human user, and stores them
for automated playback later. However, these automated tests tend to be very inflexible, in the sense that if
anything changes in the software's user interface, the test will indicate that a bug exists even if the change is not
important. This kind of automated test is therefore referred to as ""brittle"".
We propose to automatically derive less brittle tests from brittle, recorded tests. To do this, we will create tests
that access the internal data and computations of the software, which are less likely to be affected by changes in
the external user interface. The process of deriving such smart, flexible tests from brittle tests is something that
software creators do now by hand. Our project, if successful, will therefore help improve the cost-effectiveness
of the testing process, allowing our industrial partner to create more smart tests more quickly, and to run more
tests automatically. This in turn will improve the quality and time-to-market of their software.
Programme
Engage Grants Program
Bénéficiaire
Emplacement
Ontario, Canada
Type de bénéficiaire
Academia
Type
Grant
Source
NSERC's Awards Data
Tel que publié
Application id
411411-2010
Name nom
Andrews, James
Department département
Computer Science
Organization id
36
Institution établissement
University of Western Ontario
Province en
Ontario
Province fr
Ontario
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2010
Competition year année de concours
2010
Award amount
10750
Program id
EGP
Program name en
Engage Grants Program
Program name fr
Programme de subventions d'engagement partenariat
Group en
Research partnerships programs
Group fr
Programmes de partenariat
Committee code
1553
Committee name en
Ontario Internal Decision Committee
Committee name fr
Comité de décision interne pour l'Ontario
Area of application code
1207
Area of application group en
Advancement of knowledge
Area of application group fr
Avancement des connaissances
Area of application en
Information, computer and communication technologies
Area of application fr
Technologie de l'information, des ordinateurs et des réseaux de communications
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Partie
1
Nb partie
1
Application title
Software testing: creating smart, flexible tests from brittle recorded tests
Keyword
NSERC
Application summary
To make sure that their software does what it is supposed to do, software creators test their products
extensively. Cost-effective testing is crucial to a company's ability to deliver high-quality software to the
marketplace before competitors can. Tests are carefully chosen and scripted in order to ensure that all features
are tested and time is not wasted doing unnecessary tests.
Software creators prefer to be able to re-use tests. This allows them to modify the software (to fix bugs or add
new features) and check that all the old features still work. Tests can be re-used automatically by the use of
""record and playback"" software, which records the sequences of actions done by a human user, and stores them
for automated playback later. However, these automated tests tend to be very inflexible, in the sense that if
anything changes in the software's user interface, the test will indicate that a bug exists even if the change is not
important. This kind of automated test is therefore referred to as ""brittle"".
We propose to automatically derive less brittle tests from brittle, recorded tests. To do this, we will create tests
that access the internal data and computations of the software, which are less likely to be affected by changes in
the external user interface. The process of deriving such smart, flexible tests from brittle tests is something that
software creators do now by hand. Our project, if successful, will therefore help improve the cost-effectiveness
of the testing process, allowing our industrial partner to create more smart tests more quickly, and to run more
tests automatically. This in turn will improve the quality and time-to-market of their software.