Test Case Design and Test Automation


Test Case Design

Test case design is the designing process that involves the designing of test cases ie. inputs and outputs for the system test.

The goal of test case design is to create a set of tests that are effective in validation and defect testing.

 


Test case design approaches:

  1. Requirement-based testing

It is used in validation testing techniques where we consider each requirement and test for that requirement.

  1. Partition testing

It is a software testing technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived. This technique tries to define test cases that uncover classes of errors, thereby reducing the total number of test cases that must be developed.
Test Case Design

 Fig: Equivalence partitioning

 

Input data and output results often fall into different classes where all members of a class are related. Each of these classes is an equivalence partition or domain where the program behaves in an equivalent way for each class member.Test Case Design

 

Fig: Equivalence partitions

 

  1. Structural testing

It is a method of testing software that tests internal structures or working of an application, as opposed to its functionality (i.e. black-box testing). In white box testing an internal perspective of the system , as well as programming skills, are used to design test cases, the tester chooses inputs to exercise paths through the code and determine the appropriate outputs.

 


Test Automation

Test automation is a method in software testing that makes use of special software tools to control the execution of tests and then compares actual test results with predicted or expected results.

  • Can automate previous repetitive but necessary testing in a formalized testing process already in place or add additional testing that would be difficult to perform manually.
  • Reduces testing costs by supporting the test process with range of software tools.

There are two general approaches to test automation:

  1. Code-driven testing:

The public interfaces to classes, modules or libraries are tested with a variety of input arguments to validate that the results that are returned are correct.

  1. Graphical user interface testing:

A testing framework generates user interface events such as keystrokes and mouse clicks, and observes the changes that results in the user interface, to validate that the observable behavior of the program is correct.


Automation Testing Tools

  1. Selenium:
  • It is a software testing tool used for regression testing.
  • It is an open source testing tool that provides playback and recording facility for regression testing.
  • The Selenium IDE only supports Mozilla Firebox WEB browser.
  1. QTP (HP UFT):
  • It is widely used for functional and regression testing, it addresses every major software application and environment.
  • To simplify test creation and maintenance, it uses the concept of keyword driven testing.
  • It allows the tester to build test cases directly from the application.
  1. WATIR:
  • It is an open source testing software for regression testing.
  • It enables you to write tests that are easy to read and maintain.
  • Watir supports only INTERNET EXPLORER on WINDOWS while Watir webdriver supports Chrome, Firefox, IE, Opera, etc.

 

94 total views, 0 views today

A Soon-to-be Computer Engineer by profession, he has profound devotion to add Data Scientist as a prefix to his name. He’s been to the nooks of the web (at least of the surface web) and planning to add some real figures in his pocket!

Leave a Reply