Software testing

TestingCup - Polish Championship in Software Testing, Katowice, May 2016

Software testing is the act of checking whether software satisfies expectations.

Software testing can provide objective, independent information about the quality of software and the risk of its failure to a user or sponsor.[1]

Software testing can determine the correctness of software for specific scenarios, but cannot determine correctness for all scenarios.[2] [3]

Based on criteria for measuring correctness from a oracle, software testing employs principles and mechanisms that might recognize a problem. Examples of oracles include: specifications, contracts,[4] comparable products, past versions of the same product, inferences about intended or expected purpose, user or customer expectations, relevant standards, applicable laws.

Software testing is often dynamic in nature; running the software to verify actual output matches expected. It can also be static in nature; reviewing code and associated documentation.

Software testing is often used to answer the question: Does the software do what it is supposed to do and what it needs to do?

Information learned from software testing may be used to improve the process by which software is developed.[5]: 41–43 

Generally, a software product caters to a specific audience such as video gamers or bankers. When an organization develops or invests in a software product, it often assess whether the product aligns with the expectations of the end users, target audience, purchasers, and other stakeholders. Software testing plays a critical role in making this assessment.

  1. ^ Kaner, Cem (November 17, 2006). Exploratory Testing (PDF). Quality Assurance Institute Worldwide Annual Software Testing Conference. Orlando, FL. Retrieved November 22, 2014.
  2. ^ Pan, Jiantao (Spring 1999). "Software Testing" (coursework). Carnegie Mellon University. Retrieved November 21, 2017.
  3. ^ Kaner, Cem; Falk, Jack; Nguyen, Hung Quoc (1999). Testing Computer Software (2nd ed.). New York: John Wiley and Sons. ISBN 978-0-471-35846-6.
  4. ^ Leitner, Andreas; Ciupa, Ilinca; Oriol, Manuel; Meyer, Bertrand; Fiva, Arno (September 2007). Contract Driven Development = Test Driven Development – Writing Test Cases (PDF). ESEC/FSE'07: European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering 2007. Dubrovnik, Croatia. Retrieved December 8, 2017.
  5. ^ Kolawa, Adam; Huizinga, Dorota (2007). Automated Defect Prevention: Best Practices in Software Management. Wiley-IEEE Computer Society Press. ISBN 978-0-470-04212-0.

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search