“Automated Testing” means is automating the manual testing process currently in use. This requires that a formalized “manual testing process” currently exists in your company or organization.

Journey of Test Automation

Record and Playback

Test Script Modularity

–creating small, independent scripts that represent modules, sections, and functions of the application-under-test

–combine them in a hierarchical fashion to construct larger tests

Test Library Architecture

–divides the application-under-test into procedures and functions (or objects and methods depending on your implementation language) instead of scripts

–requires the creation of library files that represent modules, sections, and functions of the application-under-test

–library files are then called directly from your test case scripts

Data-Driven Testing

–test input and output values are read from data files and are loaded into variables in captured or manually coded scripts

–navigation through the program, reading of the data files, and logging of test status and information are all coded in the test script

 

Keyword-Driven Testing

–the entire process is data-driven, including functionality

–requires the development of data tables and keywords

 

Keyword Driven Approach

The sophisticated automator separates code that addresses different concerns into layers, each loosely coupled to others, in order to make code easier to update and test.

These layers of code or abstractions are often combined to create frameworks which make tests easier to create and maintain.

Abstraction technique:

Keyword driven framework allows ‘procedural commands’ to be included with the test data.

This allows tests to still be written in spreadsheet (Excel sheet). The test written in key driven are more verbose than data driven and offer the possibility of being expended in different ways.

Need For Automation

Few reasons

  • Running test manually is boring and frustrating
  • Eliminates human error
  • Write once, run as many times as needed
  • Provides increased testing coverage
  • Allows testers to focus on verifying new rather than existing functionality
  • Creates tests that can be maintained and reused throughout the application life cycle

I’ll be covering some more details next time.

~Himanshu~

Advertisements