Friday, March 23, 2012

Some basic stuff related to Software Test Automation, Automation Tools, Frameworks and standard parctices

Limitations of Automation Software Testing -

Automation is usually good for Functional testing and it's extremely difficult to test the application in boundary conditions like Out of Memory scenrios in some workflows, Data Corruption scenarios or simulating a state when application starts behaving poorly.

The common problems of Automation are:

1. Maintenance of the old script when there is a feature change or enhancement, especially it become challening with UI based Automation tools and at times also dependent on technology used to create the softwares.
2. The use of the script when we migrate the application from old version to new version
3. The change in technology of the application will affect the old scripts


Main Attributes of any Test Automation -

Maintainability, Reliability, Flexibility, Efficiency, Portability, Robustness, and Usability


Different types of tools used in various Testing Techniques...

- Testing tools for regression and load/stress testing for regression testing like, QTP, load runner, rational robot, winrunner, silk, testcomplete, Astra are availalbe in the market.
- For defect tracking BugZilla, Test Runner are availalbe
- For testing process maintenance, rational robot and Microsoft application test center are available.


Automation Techniques -

- Linear
- Structured
- Shared
- Data Driven
- Key Driven


Challenges/Problems with Automation Tools -


- System should keep in idol condition while script is running
- Debugging of script is very difficult when there are any changes in the environment
- Testing playback and record becomes very difficult when there is a minor change in GU
- Maintain of test data files is very difficult when there more number of screens

Principles of Designing Automation Scripts -

- Proper framework devoleped to built scripts
- Maintain coding standard. E.g.- Using function reusuability across various Test-Suites, to save time cost in maintainging this Automation in case of any changes in your Product/Solution.
- Provide comments for each and every step
- Proper exception handling techniques
- Appropriate Synchronization meachanisms are important when we talk about Regression/Functional testing.
- Handling error scenarios is one of the main challenge which needs to be planned in each and every Automation Framework.

Any specific Cases where we need to customize our Test-Scripts :-

1. To introduce data-driven testing, where various inpiuts are feeded into the script which has a loop for recorded Logic.
2. At times, we may want to introduce some waits apart from regular Synchronization points.
3. At times, tools can't exactly recognize some of the objects, so we need to define virtual objects and map them appropriately.
4. .... etc

Difference between GUI-Checkpoint and Sycnronization point :-

There is a very basic difference between these two is that GUI-Checkpoint is mainly used for Verification while Sync-Point is to ensure that script runs appropriately without any false alarm due to timing issues.

In GUI-Checkpoint, we check object properties and compare them with expected values, while Synchronization point defines a state for which Automation Script waits to proceed further.

1 comment:

Jony Gibson said...

I truly wanted to write down a quick remark to thank you for these pleasant topics you are showing at this website.I feel rather grateful to have used the web site and look forward to tons of more cool times reading here. Thank you once more for all the details.
Usability Testing Tool