System testing


System testing is defined as the process of testing an integrated system to verify that it meets specified requirement.

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 takes as its input , all of the “Integrated”  software components that have been successfully passed integration testing and also the its integrated  with any applicable hardware system(s)

You will come across two very different type  of System testing.

  • Functional system testing
  • Non-Functional system testing
 
Functional system testing  is focuses on testing the system based on what it is supposed to do.
 
Non-Functional system  testing  looks at those aspects that are important yet not directly related
 

System testing falls within the scope of black box testing. and as such should require no knowledge of the inner design of the code or logic.

Non Functional Testing


Non-functional testing is the testing of a software application for its non-functional requirements.

The names of many non-functional test are often used interchangeably because of the overplap in scope between various non-functional requirements.

For example, software performance is a broad term that includes many specific requirements like reliability and scalability

  • Baseline testing
  • Compatibility testing
  • Load testing
  • Performance testing
  • Resilience testing
  • Stress testing
  • Security testing
  • Load testing

reference:  http://en.wikipedia.org/wiki/Non-functional_testing

Functional Testing


It  is a type of black box  testing that bases its test cases on the specifications of the softeware component under test.

Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered.

Testing the functionality of an application or website require GUI testing.

GUI automation offers two main challenge, you require a highly sophisticated GUI test technology for the best reliability and secondly, it needs to be cost effective.

Functional testing differs from system testing because functional testing “Verifies a program by checking it against the desing docment(s) or specification(s) while System testing is validating a program by checking it against the published user or system requirements.

Funtional testing involves five main steps

  • Identification of functions  ‘SUT” that the software is expected to perform
  • Create an input data source on the function’s specifications
  • Determine an output based on the function’s specifications
  • Execute of  test case
  • Comparing of actual and expected outputs