Thursday, April 4, 2013

Step 1: Automation Feasibility validation. Run the checklist


As I said on the previous post, the first step is to validate automation feasibility. 
I have created this spreadsheet as a new artifact to validate Automation feasibility for software developments based on my previous experience in automation projects.

Download Automation feasibility checklist

Analysis

Why Automate?

-Better ROI
-More Coverage
-Reusability
-Less time to execute

When to Automate?

Project Inception validations: This is the most important validation we should do. A negative result here will conclude our process executing the checklist.

Sprints Validation: If we got "High Feasibility" for project inception analysis we will focus on the right moment to start automating throughout the project.

























Which Automation tool?
We should research about existing tools and open source frameworks to make a decision:





Design & Construction
  • Vertical or Horizontal Automation?
    • Vertical: Automating End to End Flow where each test cases is independent of others
    • Horizontal: Execute test cases features wisely to save execution time
  • Keyword or Functional decomposition Driven?
    • Keyword Driven: Each business process is mapped into actions and further each operation is mapped as a keyword. It is easy for non technical users to create test scenarios without knowing much of the testing tool.
    • Functional Decomposition: Business processes are created first and while creating the test scenarios and test scripts, each business process is called in a sequence.
  • The Data design:
    • “Keep everything, that changes or has chances of changing, separate from the script.”
  • Environments:
    • Environment isolated and similar to production will guarantee reliable test results.
  • Coding Standards:
    • To apply specify coding practices and naming conventions will provide a good quality code.

Execution

What to Automate?
If you reached this point, you are ready to see all the benefits of your efforts. Mainly, we will identify the candidates for automation among test cases, based on:


Finally, This artifact will provide you evidences for rejecting/accepting test automation for your project and it will guide you in your choice of an automation tool , comparing the main features between them (Analysis section). Once you have decided to apply automation, Design & Construction section will help you to organize your framework following code and maintenance standards. And then, Execution section will identify key factors for test cases candidates for automation.

Hope you find this artifact helpful. If you have better ways to do it, by all means, do share with us.

No comments:

Post a Comment