Thursday, September 17, 2009

Test Automation Introduction

Test Automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.

Many test automation tools provide record and playback features that allow users to record interactively user actions and replay it back


Types of Test Automation

  • Functional Testing
  • Performance Testing
  • Stress Testing
  • Load Testing

Functional testing

Functional testing 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, and as such, should require no knowledge of the inner design of the code or logic.

Tools
  • WinRunner
  • IBM Rational Functional Tester
  • Silk Test

Performance Testing

Performance Testing is testing that is performed, from one perspective, to determine how fast some aspect of a system performs under a particular workload. It can also serve to validate and verify other quality attributes of the system, such as scalability and reliability.
demonstrate that the system meets performance criteria.
impossible to exactly replicate this workload variability of a real time system

Tools
  • OpenSTA
  • LoadRunner
  • Silk Performer

Stress Testing/Load 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. Stress testing may have a more specific meaning in certain industries.
stress testing often refers to tests that put a greater emphasis on robustness, availability, and error handling under a heavy load, than on what would be considered correct behavior under normal circumstances.

Load Testing is the process of creating demand on a system or device and measuring its response.
Load testing generally refers to the practice of modeling the expected usage of a software program by simulating multiple users accessing the program's services concurrently.

Tools
  • LoadRunner
  • Visual Studio Team Test
  • Application Center Test
  • Silk Performer

Wednesday, September 16, 2009

Risk Based Testing

What is RBT

Risk based Testing (RBT) is a type of software testing that prioritize the features and functions to e tested based on priority /importance and likelihood or impact of failure. In theory, since there are an infinite number of possible tests, any set of tests must be a subset of all possible tests.

Most of the people consider James Bach to be the 'father of Risk based testing.

Activities involved in RBT




Risk Identification involves collecting information about the project and classifying it to detemine the amount of potential risk in the test phase and in production.

Risk Strategy involves the identification and assessment of risks and the development of the contingency plans for for possible alternative project or the mitigation of all risks.

Risk assessment means determining the effect (including cost) of potential risks.

Risk Mitigation is based on information gained from the previous actives of identifying, planning and assessing risks. Risk mitigation/avoidance activities or minimize their impact

Risk Reporting is based on information obtained from the previous topics and it's very often done in standard graphs.

Risk Predication involves forecasting risks using the history and knowledge of previously identified risks