Step by Step Guide to Implement Proof of Concept (POC) in Automation Testing

How to Implement Proof of Concept (POC) in Automation Testing?

Every organization has different testing processes and procedures. Manual Testing is important and irreplaceable- however automation is picking speed.

Introducing automation testing to an organization is a challenge and following points will determine if it is required at all:

Automation testing proof of concept poc

#1. Duration of the project: Short-term or long term – long term projects are good candidates for automation

#2. How much regression is done in each testing cycle? projects that have repetitive and lengthy regression tests as automation reduces the overall testing time and ensures complete coverage.

#3. Stability of the application: Application that is not susceptible to frequent changes should be considered for automation. Product which is not stable, where GUI/Functionality keeps changing, elements or its XPath on page keep changing should not be automated until stable.

#4. Is the project data secure and does testing it requires some complicated procedures? In this case, it is best to go for manual testing.

#5. Does the organization have budget for automation? – Automation will add to additional expenditure for the organization like automation tool cost, resource cost, time required for framework development and writing/maintaining automation test scripts.

With automation, missing tests or taking some test results for granted will never happen. It ensures 100% coverage of given module each and every time the same is tested. Automation will also help perform the same test multiple times on multiple browsers and platforms.

The following figure will help understand the process of automation testing

Automation Testing Process

From the technical testing point of view, the QA team needs to understand the following aspects about their automation tool:

  1. Platform and OS testing matrix
  2. Data driven capability
  3. Reporting capability and report portability
  4. Easy debugging and logging
  5. Version control supported
  6. Extensible & Customizable (able to integrate with other tools like Ant, TestNG)
  7. Continuous Integration.
  8. Email Notifications (Custom email message received if tests are passed successfully/ failed/or any network failure)
  9. If cross browser testing and multiple platforms testing is required then distributed testing environment is supported or not.

Selecting correct automation tool:

Selecting correct automation tool

#1. Application under test is a web application or a desktop application.
#2. Choosing an open source tool Vs paid one.
#3. Tool should fulfill the application’s testing requirement
#4. Using the tool – the team’s expertise and comfort level in terms of using and learning the tools
#5. Does it support reporting – If No what other options of reporting are available (open source or paid). If yes then how good it is in terms of conveying correct data from presentations as well as content point of view.

Also read => The A to Z Guide on Selecting the Best Automation Tool

In addition, tool evaluation includes:

While selecting an automation tool it is very important to consider if it is supported on the applications GUI implementation.

  1. GUI is implemented using traditional HTML or AJAX or other web development toolkit
  2. Does GUI include videos, images or lot of written content?
  3. It is interactive or only informative
  4. Browsers required to be tested.

It is important to assess the tool on the above points to understand if the tool really meets the project’s testing requirements.

Developing proof of concept on automation:

Implementing an automation testing POC is a crucial and most often used method of introducing a tool to an organization. Once it is decided that automation is to be done and a tool has been chosen, it is time to create a prototype as a POC and present it to the management to showcase the real-time usage and benefits.

To do so:

------------

1) Decide the test cases that we will use in the POC.
2) It helps to pick the areas the clients will be most interested in.
3) Plan to show manual vs automation in a way that proves that there is no degradation in the quality by choosing automation.
4) Include a test case that fails and results in finding a defect- this helps reinforce that the tool indeed can find defects
5) Use assertions and validation points wherever necessary.
6) Show clearly areas that can and cannot be automated. Usually, the following aspects cannot be automated:

  • Video steams
  • Flash content (non-static contents)
  • Non-static images

7) Highlight if the tool satisfies the following requirements?

  • Can it automate all the key features of desired application
  • Is automation possible on the same browser that is required by the project
  • Will automation call for change in application implementation? (like for automation it is important that element identifiers are unique and does not change every time the page is invoked)

Result of POC- it is usually one of the following:

  1. Tools meets the project requirements– Work out further details. Such as, cost of implementation – negotiate prices is necessary, finalize license fees, training & support costs, consultation and implementation expenditures etc. In case of open source tools determine maturity of the tool, learning resources available, learning curve, support available etc. For both licensed and open source tools, maintenance costs have to be considered too. It has to be kept in mind that the benefits are substantial only over a long period of time.
  2. Tool does not meet the requirements and has limitations – the tool is no longer considered.
  3. Tool partially meets the requirements – revisit and check if another satisfies the requirements better OR if automation is totally out of the picture OR if there is any other work around with the same tool.

Once we present our proof of concept to the management and we get a go ahead from them, the next step is implementing a pilot project using that tool.

POC Template:

There is no one perfect POC template. It generally includes:

  1. Requirement for POC
  2. Candidates of POC (All automation tools)
  3. Project requirements
  4. Pros and cons of every tool based on the project requirements
  5. POC result

Here are couple of Automation POC templates for reference:

=> POC template 1
=> POC template 2

Implementing a Pilot project:

We should define our pilot project by:

  • Quantifying business cases which will determine whether we should be using this tool or not.
  • Define naming convention and various guidelines for application tool.
  • Benefits of tool like financial and others, what can be done and what cannot be done and also its possible workarounds.

Step #1. Choosing test cases for pilot

  • Modules / Features important from client perspective
  • Functionality easy to demonstrate (happy path end to end)
  • Test cases difficult to test manually and once automated will simplify testing them
  • Broken functionality to demonstrate how automation can help identify failed test case

Step #2. Automation framework development

A test automation framework is the set of concepts, process, procedures, practices and environment. It is nothing but an integrated system that consists of rules to automate any given product. This system includes set of functional libraries, APIs, test data, object repository and various other modules.  The framework and approach of scripting used for test automation has effect on its costs.

Following scripting techniques can be used:

  • Linear
  • Hybrid
  • Data-driven
  • Keyword driven and
  • Structured

Using any of the above technique, a testing framework can be designed that will be help in achieve a specific format to drive the test, simplify test execution and reporting.

Determine templates, naming conventions for objects, test cases, test suites, data repository etc.

Step #3. Script development and execution

Step #4. Reporting: Does the tool have in-built reporting capabilities? Are the in-built reports capable of conveying all the required information precisely? Are we going to need another tool for reporting purpose like crystal reports, reportNG, etc.?

Step #5. Maintaining automation scripts

Presenting to the stakeholders:

As much as proof of concept and implementing a pilot is important so is presenting it in the correct manner. Following points will help to present it in the positive way.

  1. Begin with how much manual testing effort is put in every testing cycle, challenges faced during manual testing and how can we use automation to overcome them.
  2. Explain how you selected the tool based on the proof of concept
  3. Highlight features of automation tool and how it complements the testing requirements
  4. While running through the automation, explain how automation tool will not only help in faster test execution but also its capability of performing verification and bug identification.
  5. Demonstrate how report will show test case execution status
  6. Highlight reporting features like colorful legends for different test case status, snapshots of failed test cases,  and report portability
  7. And finally show how much testing time will be reduced for every testing cycle.
  8. Also explain how you are able to achieve the entire automation framework that you have developed and its benefits in terms of usage and maintenance.

Be prepared to answer questions related to how much time will it take to automate a single simple or critical functionality. Also, if a minor change happens on application front how much script changes will be required as how much time will be taken to modify.

We hope this guide is useful for you to start writing an automation testing POC document. Let us know if you have any questions.

Recommended reading

14 comments ↓

#1 dev patel

Very nice article. Useful for getting started in writing poc. thanks for sharing.

#2 Bjørn Andreas Pettersen

Thanks!

#3 Narendra Satpute

Really helpful article.

#4 John Ortiz

Excellent guide !!
Thanks!

#5 udupipurohit

can some one give me information regarding telecom testing what are the things to be tested in telecom ip pbx and gateway projects and what are the test cases written in this

#6 DievalAlain

Thanks for this article. This is clear and interesring.
I’ve done one automation project few years ago, with Mercury tools (now called HP Quality) and no doubt for me that for regression tests it is very useful.

#7 Afshan M.

Hi Guys,

Thanks for reading.

Really glad to know you found my article helpful.

Would like to thanks all for appreciation:
Thanks dev,
Thanks Bjørn Andreas,
Thanks Narendra,
Thanks John and
Thanks Dieval

Afshan M.

#8 Gaurav Khurana

Rightly covered all different aspects of automation which needs to be covered , while designing an automation tool

#9 Karthik Rajesh

Nice Article..Keep up the good work.

#10 Afshan

Really appreciate all your comments.

Glad you found my article of help.

@Gaurav and Karthik: Thanks

#11 CT

Its really helpful and give clear understanding of bullet points considered for POC.

Could you help us with article about Selenium Automation testing on BANKING domain projects like what are the different popular scripting techniques[frameworks], tools [Maven, Jenkins], challenges/pain areas.
And also how about SOUPUI, rESTFUL, web services required to do automation testing.

#12 manohar

really helpful

#13 Manny

Excellent post, very informative.

I am looking for selenium POC’s, can anyone help me where to find one

#14 Anuj Srivastava

Hello,

I am about to prepare POC for Mobile Testing – Appium.
What things should i keep in mind to write?
is there any template for this?

Leave a Comment