I am always happy to contribute to the community about my learnings & experience. Thanks to Santhosh Tuppad for continuously motivating me to write. Thanks to Ajoy Singha & Testing Circus for giving me the chance to write an Article for Testing community.
This Article is posted in Testing Circus Magazine – September 2013 edition. Posting here the same to enable me to get to know viewpoints of my audience & interact with everyone.
So here it comes…
Autobiography of Automation
Once upon a time in the magical era of testing, I was born with my charms of efficiency & speed. I got real famous due to my good qualities of producing fast results & slowly I began to replace human efforts into scripts. One thing anybody can agree with regards to modern era is that news spreads like Virus. My good qualities became latest trend on Twitter, My blogs & characteristics got over millions of Facebook Share, People started digging me on Digg, I received many +1 in google plus & the tales went on & on…
Any guess who am I?
I am “Automation… Check Automation!”.
I started to get job offers from across the world with handsome packages 😉 My concept & ideology got converted into various tools like Sahi, Selenium Webdriver (JAVA, PHP, Python), Twist, AutoIt, OpKey, Cucumber, Robotium, SoapUI, QTP, etc. My qualities got matured over the period of time, I could do record & play directly by interacting with GUI instead of writing scripts & commands & many other cool features. This is a busy world & time is being considered as money. People started working along with me to make record & play scripts along with some manual customizations. There were times when scripts are written to automate cool scenarios which adds value to the project & client.
People working with me started making scripts for ready-made test scenarios which were manually being tested for Regression Testing. It is great to see that my concepts are helping out everyone to reduce their workload. Over a time, I was started to be mistaken as Automation & as I mentioned, you know that news spreads like Virus 😉 There are variety of aspects which were being overlooked in terms of what Automation means:
- My cool friends who are good Automator & tries to make cool scripts are being given loads of ready made test cases & scenarios to Automate in order to meet charming deadlines.
- My friends are unable to get chance for thinking & designing cool test scenarios which got missed in ready made test cases document for Automation.
- My Friends may not find enough time to perform Blended Automation Testing.
- My Friends may find it difficult to spend time to work on extra activities & indirectly add value to the company.
Example: By creating their own tools & scripts to make testing for everyone easy & fast which in turn allows everyone to spend time on actual Brainual Testing.
Gradually my ideologies & understandings started to fade. People are racing with everyone to be the number 1 in the market. Success is sure to visit your doorstep by being the number 1 in the market & meeting deadlines. But, being the number 1 in adding more value to the Project/Client/Company indirectly makes you more popular, both within 4 walls of your company & beyond that, which is way cool then being only successful.
“As one person I cannot change the world, but I can change the world of one person” ~ Paul Shane Spear
I am not trying to set any new trend by setting my nickname as “Check Automation!” or “Test Automation!” or blah blah…
Purpose is not to confuse everyone with nick names of Automation (like Black Viper Technique), but to set the mindset of what I want to be famous for & what value can Automation add.
Part 1: What I Want To Be Famous For
As a way of gathering information which can be accessed by variety of audience (like Business, PM’s, Developers, Testers, Users) & appropriate actions can be taken in a much much much faster way.
Word of Caution: Do not fall into the trap of considering this as Bible for Automation definition. It’s just a thought & it holds the scope of maturing over the time.
Generally every company has a Automation Framework to be implemented for any Automation project which reflects the credibility & efficiency of Automation scripts. Few simple steps for completing Automation scenario can be categorized in 4 steps.
- Scenario: For any eCommerce site, “Feedback form” is a critical process & we need to make sure that for every build it should be working as expected.
- Step 1 – Design Automation Flow:
“Working as expected” is an interesting statement highlighted in bold for above statement. What does it mean? We can categorize features & functionality of “Feedback form” into different ideas & a complete scenario can be designed for Automation flow.
- Following are such categories for “Feedback Form”:
- Presence of Feedback form across the site like Homepage, Product Page, Contact Us Page, e-Gift Voucher Page, etc.
- Appropriate error handling message presence
- Successful form submission
- Checking for different categories of feedback form like “Improve this page”, “Suggest new features/ideas”, “Shopping experience” & other categories.
- Benefits & Necessity:
- Automation Testers are getting opportunity to think as a Context Driven Tester & design the flow instead of following ready made steps from test case document.
- These phenomenon can be referred as Blended Automation – Combination of Automation & Testing.
- Make a list of “Value addition” being done by each scenarios. It assists in highlighting the importance of each scenario to the variety of audience.
- Step 2 – Design Report Format, Parameters & Check Points:
Once the flow is designed then comes the turn for designing the report parameters & check points which needs to be considered for reviewing by variety of audience.
- There are lot of ways & tools like TestNG, Maven, TestRail & others to create reports. But all they do is show some colorful graphs & Statistics on % of Pass, Fail, Error, Warnings.
- Sample Reports:
4. Maven Report
5. Ways of Sample reporting can go on & on… Everything depends on the context & information you wish to highlight.
- We need to think of few other parameters or customized messages for report logs which assists in providing a brief insight to the behavior. Such information can actually assist in tracking down where exactly is the issue noted.
- Sample Customized Report:
Feedback Form customized Report – http://screencast.com/t/tbaup4fFmBVb
- Benefits & Necessity:
- This is critical, since “Automation Report” is the medium of conveying all valued information.
- It also assists in making necessary decisions such as “Feedback form is reliable for the current build & we can focus on making sure other features of the build are good”.
It’s time to make a script for the desired flow by keeping the context in mind.
- Make sure to note any absurd behaviors in between the flow & try to report the same.
- Example – “Reporting any absurd behavior”:
- For instance, login is sometimes taking more than 4-8 secs. We need to report such instances in our Report logs since such information may be critical for evaluation & impacts the business.
- Step 4 – Analyze Reports & make decisions:
Doing so helps business to make sure that
- “Feedback form” is working as expected & focus on other modules of the site
- Revenue is not being impacted
- We can get a pool of information for site improvements, suggestions, user review, etc.
Part 2: What “Value” can Automation Add
- Blended Automation
- My friends can get opportunity to think as a Context Driven Tester, design the flow & observe while writing scripts.
- It is not boring & keeps the curiosity alive since you are not following blind instructions from test case documents.
- Being an Automator, it is damn difficult to get time for polishing testing skills & making test ideas or scenarios.
- Unless you become a good tester & observer, it will be difficult to analyze what information to log for reviewing.
- Refer example of “Reporting Absurd behavior” in “Step 3 – Automate” topic under Chapter 1.
- Replacing human…
- Oops! A small correction. It’s “Reducing human effort… Not replacing humans” 🙂
- My concepts & thoughts are meant for reducing human efforts & assist them in any way possible to collate information in a much much much faster way.
- Highlighting such critical information is the sole purpose I exist.
- Utilize Add-ons & Tools available
I am happy to see my friends sharing & utilizing Tools, Scripts, Add-on’s which are available in the market & not to duplicate the work by making scripts for the same.
- Example: There are lots of link checkers & tools available to make sure the HTTP Status of Links across the site.
- Link Checker Add-on
- Check My Link Add-on
- and so on…
- Utilize the resources available & save time for other cool Brainual Testing & Automation.
- Make Tools & Share
Probably you have reached that rebellious age
- where no more functionality Automation can be implemented for the site or
- You have exhausted time & resources for Automation.
Congratulations on successfully completing a project. It’s now time for sharing your experience & challenges. Based on your observations if you think that you can assist developers or team by making scripts for their day to day unit testing then go ahead. It is a critical step in adding more value to the team apart from your cool Automation scenarios for testing.
- For a Media site, it is critical to make sure that images are being loaded across the site.
- As a Context Driven Tester & the availability of time, we can make sure that images are being loaded across different categories of the site like different content types (Articles, Slideshows, Editor Pages, Recipes, etc).
- But what we are achieving is only limited information based on limited time & efforts that “Image Loading” is reliable across the site. This is kind of “QA” we did, instead of “Testing”.
- “QA” – because we are making sure that quality of “Image getting loaded” is maintained across the site & the functionality works without breaking in the current build. And hence the build is good for release or not.
- “Testing” – How to do Testing for such scenarios which impacts the revenue, users & traffic of the site.
- We can make a script (Tool) to perform Unit Testing of “Image getting Loaded”:
- Collect a list of URL’s from the site which contains Images
- Open each URL at a time & extract the names of all Images & store it in an excel sheet.
- Now, make sure all the Images exists in the image server by cross checking the names from the excel sheet.
- Doing so enables anyone to run the script for any number of given URL’s & make sure appropriate information is highlighted in Report Logs for reviewing.
- Such activities can be considered as Testing instead of QA, since we are highlighting information based on much wider coverage & scope which impacts the business.
It’s a great feeling sharing my Autobiography with you all. Especially thoughts on “What I want to be famous for” & “What Value can Automation add”. See Ya…Until Next Time…