Everyone is talking about automation tools like QTP,...

Everyone is talking about automation tools like QTP, WinRunner, LoadRunner,Silk Test, Selenium Bla Bla bla ... but Once these tools come into real practice and he\she has to automate test-case(s) with them in existing automation framework.

How far we can go with our goal?


This post gives opportunity to discuss on characteristics of test-case(s) while doing designing for test-case(s) in automation.
Below are the couple of thoughts, I believe to have in automated test-case(s).

§         Concise - Test-case(s) should be as simple as possible.
i.e. Test-case(s) should not call multiple other complex Test-case(s). It should have minimum dependency.

§         Self Checking – Test-case(s) should have verification steps and It
should report in its results such that no human interpretation is
necessary. For example, I have found in one project; team has around 1500 test-case(s) – out of more than 44% test-case(s) has steps like

1.      Open Menu Item.

2.      Enter A/C number and other Inputs on screen say for A.

3.      Click on Button "Next" on screen A.

4.      Click on Button "Next" on screen B.

5.      Click on Button "Next" on screen C

6.      Click on Button "Close" on screen D – here, one product was created.

Here, all screens (A to D) have Button "Next" and "Close" and that raises some real concern to take care. Why? Because of default values of each screen are missed to verify. Test-case for each screen should have all default values' verification steps so that user\automation tool can confirm that he has achieved so and so functional flow screen while running specific scenarios. If any new screen with "Next" and "Close" button introduces in middle of screen(A-D) in new build – this will capture by automation test-case(s).

§      Repeatable – Test-case(s) can be run repeatedly without human
intervention. DDT(Data Driven Test) or test-step parameterization is one of the big benefit of automation.

§      Robust – Test-case(s) should produce same result now and forever.
Automated test-case(s) should have consistent output. It is not an easy task to achieve this characteristic. In hybrid Automation Framework, Automation team can create BO keywords to setup baseline and this keywords should be practice well enough that test-case(s) can have baseline to initialize and other test-case(s) in queue can execute regardless of previous test-case(s) passed or failed.

§      Necessary – Everything in each Test-case(s) should contribute to the specification of desired behavior. All pre-requisites should be set well – Test-case(s) should have none or minimum pre-requisites to set manually.

§      Clear – Each step in Testcase should be easy to understand.

§      Efficient – Test-case(s) run in a reasonable amount of time. It manual test-case(s) takes 100 minutes then automated test-case(s) should not take more then 50-60 minutes at the best efficiency.

§      Specific – Each failure step should point to a specific piece of broken functionality

§      Independent – Each Test-case(s) can be run by itself or in a suite
with an arbitrary set of  other tests in any order. To avoid dependency in Hybrid automation framework, automation team can develop BO keywords and add them for each test-case(s) to avoid dependency.

§      Maintainable – Automated test-case(s) should be maintained and extended with testcase management tools like TestLink, HPQC, Test Director or many other freeware tools which can easily plug with automation framework.

§      Traceable – Test-case(s) should be traceable to the requirements.

So, when we have Test-case(s) to automate – have above protocols in mind to do your tasks more effective and efficient. I would like to have more thoughts on this ; please, add your precious comments here.

Enjoy Automation / NV

Comments

Popular posts from this blog

Testing Shifts with agile automation #RPA #ML

Bots and What Not !!

Need > Want

Automate your everyday tedious tasks and free up time for higher-value work (with Microsoft free RPA solution)

Respect is not earned, It is given ⚘ 🙏