System testing
Encyclopedia
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing
Black box testing
Black-box testing is a method of software testing that tests the functionality of an application as opposed to its internal structures or workings . Specific knowledge of the application's code/internal structure and programming knowledge in general is not required...

, and as such, should require no knowledge of the inner design of the code or logic.

As a rule, system testing takes, as its input, all of the "integrated" software components that have successfully passed integration testing
Integration testing
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing...

 and also the software system itself integrated with any applicable hardware system(s). The purpose of integration testing is to detect any inconsistencies between the software units that are integrated together (called assemblages) or between any of the assemblages and the hardware. System testing is a more limited type of testing; it seeks to detect defects both within the "inter-assemblages" and also within the system as a whole.

Testing the whole system

System testing is performed on the entire system in the context of a Functional Requirement
Functional requirements
In software engineering, a functional requirement defines a function of a software system or its component. A function is described as a set of inputs, the behavior, and outputs ....

 Specification(s) (FRS) and/or a System Requirement
Requirements analysis
Requirements analysis in systems engineering and software engineering, encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product, taking account of the possibly conflicting requirements of the various stakeholders, such as beneficiaries or users...

 Specification (SRS). System testing tests not only the design, but also the behaviour and even the believed expectations of the customer. It is also intended to test up to and beyond the bounds defined in the software/hardware requirements specification(s).

Types of tests to include in system testing

The following examples are different types of testing that should be considered during System testing:
  • Graphical user interface testing
  • Usability testing
    Usability testing
    Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system...

  • Performance testing
    Performance testing
    In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload...

  • Compatibility testing
    Compatibility testing
    Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment...

  • Error handling testing
  • Load testing
    Load testing
    Load testing is the process of putting demand on a system or device and measuring its response. Load testing is performed to determine a system’s behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any...

  • Volume testing
    Volume testing
    Volume Testing belongs to the group of non-functional tests, which are often misunderstood and/or used interchangeably. Volume testing refers to testing a software application with a certain amount of data. This amount can, in generic terms, be the database size or it could also be the size of an...

  • Stress testing
    Stress testing
    Stress testing is a form of testing that is used to determine the stability of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe the results...

  • Security testing
    Security Testing
    Security testing is a process to determine that an information system protects data and maintains functionality as intended.The six basic security concepts that need to be covered by security testing are: confidentiality, integrity, authentication, availability, authorization and non-repudiation...

  • Scalability testing
    Scalability testing
    Scalability Testing, part of the battery of non-functional tests, is the testing of a software application for measuring its capability to scale up or scale out - in terms of any of its non-functional capability - be it the user load supported, the number of transactions, the data volume...

  • Sanity test
    Sanity test
    A sanity test or sanity check is a basic test to quickly evaluate whether a claim or the result of a calculation can possibly be true. It is a simple check to see if the produced material is rational...

    ing
  • Smoke testing
  • Exploratory testing
  • Ad hoc testing
    Ad hoc testing
    Ad hoc testing is a commonly used term for software testing performed without planning and documentation ....

  • Regression testing
    Regression testing
    Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing functionality after changes have been made to a system, such as functional enhancements, patches or configuration changes....

  • Reliability testing
  • Installation testing
    Installation testing
    Implementation testing installation testing is a kind of quality assurance work in the software industry that focuses on what customers will need to do to install and set up the new software successfully...

  • Maintenance testing
    Maintenance testing
    Maintenance testing is that testing which is performed to either identify equipment problems, diagnose equipment problems or to confirm that repair measures have been effective...

  • Recovery testing
    Recovery testing
    In software testing, recovery testing is the activity of testing how well an application is able to recover from crashes, hardware failures and other similar problems....

     and failover testing.
  • Accessibility
    Accessibility
    Accessibility is a general term used to describe the degree to which a product, device, service, or environment is available to as many people as possible. Accessibility can be viewed as the "ability to access" and benefit from some system or entity...

     testing, including compliance with:
    • Americans with Disabilities Act of 1990
      Americans with Disabilities Act of 1990
      The Americans with Disabilities Act of 1990 is a law that was enacted by the U.S. Congress in 1990. It was signed into law on July 26, 1990, by President George H. W. Bush, and later amended with changes effective January 1, 2009....

    • Section 508 Amendment to the Rehabilitation Act of 1973
      Section 508 Amendment to the Rehabilitation Act of 1973
      In 1998 the US Congress amended the Rehabilitation Act to require Federal agencies to make their electronic and information technology accessible to people with disabilities...

    • Web Accessibility Initiative
      Web Accessibility Initiative
      The World Wide Web Consortium 's Web Accessibility Initiative is an effort to improve the accessibility of the World Wide Web for people with disabilities...

       (WAI) of the World Wide Web Consortium
      World Wide Web Consortium
      The World Wide Web Consortium is the main international standards organization for the World Wide Web .Founded and headed by Tim Berners-Lee, the consortium is made up of member organizations which maintain full-time staff for the purpose of working together in the development of standards for the...

       (W3C)


Although different testing organizations may prescribe different tests as part of System testing, this list serves as a general framework or foundation to begin with.

See also

  • Automatic test equipment
    Automatic test equipment
    Automatic or Automated Test Equipment is any apparatus that performs tests on a device, known as the Device Under Test , using automation to quickly perform measurements and evaluate the test results...

  • Software testing
    Software testing
    Software testing is an investigation conducted to provide stakeholders with information about the quality of the 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...

  • Unit testing
  • Integration testing
    Integration testing
    Integration testing is the phase in software testing in which individual software modules are combined and tested as a group. It occurs after unit testing and before validation testing...

  • Test case
    Test case
    A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system is working correctly or not. The mechanism for determining whether a software program or system has passed or failed such a test is known as a test...

  • Test fixture
    Test fixture
    A test fixture is something used to consistently test some item, device, or piece of software.-Electronics:Circuit boards, electronic components, and chips are held in place and subjected to controlled electronic test signals. One example is a bed of nails tester.-Software:Test fixture refers to...

  • Test plan
    Test plan
    A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of what the eventual workflow will be.-Test plans:...

  • Automated testing
  • Quality control
    Quality control
    Quality control, or QC for short, is a process by which entities review the quality of all factors involved in production. This approach places an emphasis on three aspects:...

  • Software development process
    Software development process
    A software development process, also known as a software development life cycle , is a structure imposed on the development of a software product. Similar terms include software life cycle and software process. It is often considered a subset of systems development life cycle...

  • Computer accessibility
    Computer accessibility
    In human-computer interaction, computer accessibility refers to the accessibility of a computer system to all people, regardless of disability or severity of impairment...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK