Web-Books
in the Austria-Forum
Austria-Forum
Web-Books
Informatik
The Future of Software Quality Assurance
Page - 148 -
  • User
  • Version
    • full version
    • text only version
  • Language
    • Deutsch - German
    • English

Page - 148 - in The Future of Software Quality Assurance

Image of the Page - 148 -

Image of the Page - 148 - in The Future of Software Quality Assurance

Text of the Page - 148 -

148 A. L.Smith worse,inaproductionenvironment.Thisissomethingfamiliartoeverytestmanager astheydealwiththelearningfromproductionreleasesandfeedinginformationback intothetestprocess.Surelythereisabetterwaytofindproblemswithtestcoverage? MutationTestingisa testing techniquethatcanbetracedbackto1971[2],which has gained more and more attention, now with over a dozen associated tools and used in a range of software contexts. The number of tools available has grown significantly fromless than5 in1981, to over40 in 2013[3]. Mutation Testing sits in a gray area of testing techniques that don’t rely on formal specification of the desired behavior of the system, alongside fuzz testing, metamorphic testing, andarguablyexploratorytesting. At its core, mutation testing is the practice of executing a test, or a set of tests, over many versions of the software under test—a so-called mutant. Each version of the software under test has different faults deliberately and programmatically injected. Each testing iteration is conducted on a slightly different version of the software under test, with different faults injected based on heuristics, or “rules of thumb”thatcorrespondtocommonfaults.Theseversionsarereferredtoasmutants, in thecontext that theyare smallvariations .Thepurposeof the testing isusually to determinewhichfaults aredetectedby test procedures, resulting in failures. The manufactured faulty versions of the software aren’t called mutants because theyare inferior,butbecause theyarechangedin thesamewaythathumangenetics mutate as part of natural evolution. This is similar to the use of genetic algorithms inartificial intelligence to solvesearchandoptimizationproblems. Thebenefitsofmutationtestingcanbesignificant, it cangiveenormouslyuseful insight into: • Thequalityandcoverageofautomatedtests, inparticular,coverageofassertions andvalidations • Thecoverageof testing in aparticularareaof thesoftware • Thesuccessofparticular test design techniques • Thecomplexityandmaintainabilityofdifferentareasofcode • Thetraceabilityofsoftwarecodeorcomponentsto theoverallbusinessfunction- ality, throughthe tests It canbe usedasan approachto improveanexistingset of tests, or asa tool to help build a new test suite, either to ensure it has sufficient validations, or to prioritize testing towardsareasof thecode.Ultimately, it providesaset of factsaboutquality, information that isnototherwiseavailable (Fig.1). 2 Automated Testing MutationTesting conceptually is not limited to automated tests; inprinciple it is an approachthatcouldbeapplied tomanual testing.However, thecostassociatedwith running thousands of tests manually (on code that will never reach production, in order to improve the developmentand testing process) doesn’t stack up against the benefit inmostcases.
back to the  book The Future of Software Quality Assurance"
The Future of Software Quality Assurance
Title
The Future of Software Quality Assurance
Author
Stephan Goericke
Publisher
Springer Nature Switzerland AG
Location
Cham
Date
2020
Language
English
License
CC BY 4.0
ISBN
978-3-030-29509-7
Size
15.5 x 24.1 cm
Pages
276
Category
Informatik
Web-Books
Library
Privacy
Imprint
Austria-Forum
Austria-Forum
Web-Books
The Future of Software Quality Assurance