Portal:Software testing
Introduction
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects), and verifying that the software product is fit for use.
Software testing involves the execution of a software component or system component to evaluate one or more properties of interest. In general, these properties indicate the extent to which the component or system under test:
- meets the requirements that guided its design and development,
- responds correctly to all kinds of inputs,
- performs its functions within an acceptable time,
- it is sufficiently usable,
- can be installed and run in its intended environments, and
- achieves the general result its stakeholders desire.
As the number of possible tests for even simple software components is practically infinite, all software testing uses some strategy to select tests that are feasible for the available time and resources. As a result, software testing typically (but not exclusively) attempts to execute a program or application with the intent of finding software bugs (errors or other defects). The job of testing is an iterative process as when one bug is fixed, it can illuminate other, deeper bugs, or can even create new ones.
Software testing can provide objective, independent information about the quality of software and risk of its failure to users or sponsors.
Software testing can be conducted as soon as executable software (even if partially complete) exists. The overall approach to software development often determines when and how testing is conducted. For example, in a phased process, most testing occurs after system requirements have been defined and then implemented in testable programs. In contrast, under an agile approach, requirements, programming, and testing are often done concurrently.
Selected article
Keyword-driven testing, also known as table-driven testing or action-word testing, is a software testing methodology for automated testing that separates the test creation process into two distinct stages: a planning stage, and an implementation stage. ...More
Selected image
While Grace Hopper was working on the Harvard Mark II Computer at Harvard University, her associates discovered a moth stuck in a relay and thereby impeding operation, whereupon she remarked that they were "debugging" the system. Though the term computer bug cannot be definitively attributed to Admiral Hopper, she did bring the term into popularity. The remains of the moth can be found in the group's log book at the Smithsonian Institution's National Museum of American History in Washington, D.C..
Selected biography
James Marcus Bach, Boris Beizer, Robert V. Binder, Rex Black, Cem Kaner, James D. McCaffrey
Did you know...
Exploratory testing: Cem Kaner, who coined the term in 1983, now defines exploratory testing as "a style of software testing that emphasizes the personal freedom and responsibility of the individual tester to continually optimize the quality of his/her work by treating test-related learning, test design, test execution, and test result interpretation as mutually supportive activities that run in parallel throughout the project."
Quotes
- "Quality is never an accident; it is always the result of intelligent effort." -- John Ruskin
- "Program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence." -- Edsger Dijkstra
- "Beware of bugs in the above code; I have proved it correct, not tried it." -- Donald Knuth
- "Given enough eyeballs, all bugs are shallow." -- Linus's Law according to Eric S. Raymond
- "If it ain't broke, you are not trying hard enough."
- "Quality is free, but only to those who are willing to pay heavily for it."
- "Garbage In -- Apology Out!"
Software testing news
United States government healthcare exchange website, healthcare.gov suffered numerous types of technical problems from the start in October 2013. The troubles were not just an issue of volume, but involved software and systems design issues.
"We did not adequately do end-to-end testing" said the US Health and Human Services Secretary Kathleen Sebelius at United States House Committee on Energy and Commerce hearing on October 30, 2013.
Subcategories
Additional categories
Software quality traits
Related portals
Things you can do
- Expand the stubs
- Add citations to articles for verification
Topics
- Test Process: Behavior driven development, ISO 9000, ISO 9126, CMM, Static code analysis, Lightweight Software Test Automation, Debugging, Mutation analysis, Equivalence Partitioning, Quality control, Software quality, Software testing, Performance engineering, Formal verification, Risk-based Testing, Fault injection, Fagan inspection, Reliability engineering, Software Quality Assurance, Software inspection, Dynamic program analysis, Symbolic computation, Extreme quality assurance, Test automation, Computerized system validation, Testing Web Sites, Quality audit
- Test levels: Component or Unit testing, Integration testing, Component integration testing, Acceptance testing, System testing
- Test types: Ad hoc testing, Alpha Testing, All-pairs testing, Beta Testing, Black box testing, Boundary testing, Boundary Value Analysis, Build Verification Test, Code coverage, Compatibility testing, Conformance testing, Combinadic, Exploratory testing, Fuzz testing, GUI software testing, Game testing, Hallway testing, Installation testing, Keyword-driven testing, Load testing, Mobile Device Testing, Monkey test, Manual testing, Model-based testing, Playtest, Pseudolocalization, QuickCheck, Regression testing, Recovery testing, Sanity testing, Scenario testing, Soak testing, Software performance testing, Software verification, Smoke testing, Stress testing, Static testing, Session-based testing, Usability testing, White box testing
- Famous bugs: List of software bugs
- People: Charles E. Brady, Jr., Kenneth D. Cameron, Patrick G. Forrester, Erich Gamma, Charles D. Gemar, Brent Hailpern, Steven Hawley, Cem Kaner, Adam Kolawa, James D. McCaffrey, Harlan Mills, Stephen S. Oswald, Gene Spafford
- Companies: AutomatedQA, Borland, CTG, Compuware, IBM, Lionbridge, Hewlett Packard HP Software Division, Micro Focus, Microsoft, National Software Testing Laboratories, Segue Software, Telerik, SHIFT Inc.
- Test management: Test strategy, Test Plan, Test effort, Test Data Generation
- Tools (commercial): AdaTEST95, AscentialTest, Automation Anywhere, Cantata++, CAST tool, Coverity, ECLAIR, ECU-TEST, Goanna, Insure++, Jinx, Jtest, LDRA Testbed, HP LoadRunner, HP Quality Center, Microsoft Test Professional, Microsoft Visual Studio Ultimate, QF-Test, Polyspace, Ranorex, Silk Performer, SilkTest, SIMMON, TestComplete, TestPartner, Testware, Time Partition Testing, HP WinRunner, Test Studio, WebLOAD
- Tools (free/open source): AutoIt, Check, CPPUnit, Curl-loader, DUnit, Fastest, FindBugs, FitNesse, Framework for Integrated Test, FUnit, HttpUnit, Apache JMeter, JUnit, Katalon Studio, Litmus, Mauve, NUnit, PHPUnit, PyUnit, Robot Framework, RSpec, Selenium, soapUI, Splint, STAF, TestNG, Watir, WET Web Tester, xUnit, Rational Functional Tester
- Tools (other) Category:Emulation software, Test Automation Framework, Virtual appliance
- Certification: British Computer Society, National Software Testing Laboratories, ISTQB, CSTE
- Membership associations: Software Engineering Institute, Association for Software Testing, American Society for Quality
- Software standards: IEEE 829, TTCN
- Terminology: Software bug, Anomaly in software, Test case, Test suite, Test script, Unusual software bug, System under test, Mock object, Test harness, Test data, Testbed, Test bench, Debugger, Boundary case, verification and validation, test plan, Test Anything Protocol, Zarro boogs, Thrash, Memory debugger, Xqa,
- Miscellaneous: Software testing outsourcing, Software metric, List of unit testing frameworks