Saturday, March 15, 2014

Software QA Automation is a technical solution

An automated testing tool as a set of frameworks
Let’s look at the generalized list of the frameworks that are usually part of the testing tool.
1. Screen scrapping and/or the network sniffer.
  • Screen scrapping allows to record user activities in GUI application, stores recordings and allows parameterization of it.
  • Network sniffer allows intercepting and logging traffic passing over a network. It also has ability to store and parameterize recordings.
2. Workflow - framework that can execute sequence of tasks and has ability to conditionally change flow of steps to be executed. A typical workflow angine will support multithreading and dynamic upload steps to be executed.
3. Configuration management - component that allows parameterization of all aspects of working environment of the tool. For example:
  • Path to report files;
  • Number of threads to use;
  • Path to data files; Etc;
4. Reporting framework.
5. Data management framework, that responsible for reading and/or generating test data.

In general, commercial tools differ from each other by functionality exposed by each type of the framework, test scenarios flexibility, test script language, etc.

Software QA automation is a technical solution
QA process is unique. The uniqueness defined by the company and the product, technology used, people, environment and many other factors.
In addition, software uniqueness makes manual and automated testing extremely product depended even though there are a lot of theory and practice that can be shared across different environments.
Building automated testing process includes several aspects such as understanding what can be automated, what should be automated and what techniques to use.
Commercial automated testing tool designed to be generic, to handle as much “common” situation as possible and leave the “uncommon” and “unique” tasks for testers to be handled.
That is why QA automation process mostly is the technical solution for these tasks. Moretheoever, practically this solution can be built using wide range of open source tools and libraries.

The implementation of the technical solution is a software development project.
According Wikipedia a framework is a defined support structure in which another software project can be organized and developed.
Because an automated testing tool is a set of frameworks, test automation in many cases is a development task that resolves test automation requirements for particular software.
While, it is possible sometimes, just to record and play back a test script with minimal changes, such test scripts stay usable for short period of time and require modification or re-recording with even minimal changes in the application.
But when we consider test automation as a development project we can at least minimize script recording and make the test scripts to be software applications running on top of different utility frameworks.













No comments:

Post a Comment