SlideShare a Scribd company logo
Key to successful  Automation
Murphy’s Rules for Testers Never assume anything. There is no such thing as stupid question.  Record everything thoroughly. If you don’t understand, it’s not your fault.
What is Testing ? Testing is a process of executing the program with intent to finding the bugs Testing is the set of processes which ensure that the functionality and performance planned through design has been delivered through the system. Testing is required to improve the quality of the product before handling over the product to the customer.
Type of testing Manual Testing Automated testing

Recommended for you

What is Shift Left Testing.pdf
What is Shift Left Testing.pdfWhat is Shift Left Testing.pdf
What is Shift Left Testing.pdf

To reduce the number of bugs during and after software development and improve the quality of the product, Shift Left Testing or Early Testing is implemented. It is a method to push testing towards the early stage of software development like requirements defects, complicated designing, and so on. By doing so, you uncover and solve the issues in an early testing phase before they become major. https://www.testbytes.net/blog/what-is-shift-left-testing/

software developmentsoftware testingtesting
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation

The document discusses creating a high-performing QA function through continuous integration, delivery, and testing. It recommends that QA be integrated into development teams, with automated testing, defect tracking, and ensuring features align with business needs. This would reduce defects and costs while improving customer experience through more frequent releases. Key steps outlined are implementing continuous integration and delivery pipelines, test-driven development, quality control gates, and measuring escaping defects to guide improvements.

software testingsoftware developmentqa
Test Automation
Test AutomationTest Automation
Test Automation

This presentation introduces Test Automation and gives overview of the tasks involved. For more info visit blog.rockoder.com

test automationautomationqa automation
Manual Testing Traditional form of testing  Slow , tedious , boring  Costly , more time & effort Difficult to Manage  Reliable ? Flexible  (A lot have been said about the Slow and tediousness of the manual testing but it’s the flexibility that it provides that overshadows all other points. With the frequent change in the software its not viable to change the test script regularly. So when changes are brought into the software regularly, the manual testing is the best option).
Automation and its Need Automation is done to reduce repeated and redundant testing. Automation maintains a single standard of quality for your application over time — across releases, platforms, and networks. It is used to replace or supplement manual testing with a suite of test programs. Benefits include increased software quality, improved time and resource efforts , repeatable test procedures, and reduced testing costs.
Myths about Automated testing Find more bugs:- In most places the test cases are written by test engineers who are familiar with the application they are testing. From test cases to test scripts, automation does not add anything in the process to find more bugs. The test scripts will work only as good as the test cases when comes to finding bugs.  Eliminate or reduce manual testers:-For the stable application we can say this, but for an application that required any change this is totally a myth. As said earlier that the test scripts are as good as the test cases itself so for the new test cases manual tester will definitely be required. Automated Testing doesn't mean   Automatic Testing …. It means Computer aided testing
Advantages of Automated testing Ease the testing process Quicken the testing, by reducing the time and effort involved in manual testing . A typical automated test suite will run in less than 24 hours, without any human intervention required. For a sophisticated product, manual testing may require dozens of staff months to perform the same testing  Maintain consistency – After a new drop is taken, the same script would be run against the same data, thereby eliminating the chances of any inconsistency. With a complex testing process manual testing often yields inconsistent coverage and results depending on the staff and schedule employed. An automated test suite ensures the same scope and process is used repeatable each time testing is performed.  Accelerate release schedule by testing at any point in the development cycle  IMPROVED TESTING PRODUCTIVITY. With its much shorter execution time an automated test suite can be run multiple times over the course of a product development cycle. By testing earlier and more often bugs are detected and corrected earlier and at much reduced expense.  IMPROVED PRODUCT QUALITY. The sum of improved test procedures and testing productivity is a substantial improvement in product quality. Automated testing detects functional and performance issues more efficiently, allowing test staff to focus on quality in areas such as documentation, installation, hardware compatibility, etc.  Reuses test across platforms  Encourage more thorough testing without straining manual resources

Recommended for you

Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo

This document discusses test automation, including what it means, when it should be used, best practices, and examples of automation tools. Test automation involves writing software to reproduce the steps of a manual test process. It is useful for speeding up testing, improving coverage, and ensuring consistency. Tests that are repeated or will be run frequently are good candidates for automation. Common automation tools include NUnit, JUnit, Sahi, QTP, JMeter and Load Runner. Best practices include choosing the right tool, only automating repeated tests, identifying automatable cases, and using a data-driven approach.

Best practices quality assurance
Best practices   quality assuranceBest practices   quality assurance
Best practices quality assurance

QA plays an important role in delivering high quality software by thoroughly testing for errors and issues and providing constructive feedback to developers. Some key responsibilities of QA include properly understanding requirements, creating comprehensive test plans and test cases, executing different types of testing such as positive and negative testing, carefully analyzing results and logging any issues found along with the steps to reproduce them. QA should pursue finding and resolving errors, not blame on individuals. Both QA and developers must work together effectively through clear communication and collaboration.

Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction

The document discusses hybrid test automation frameworks. A hybrid framework combines aspects of data-driven and keyword-driven frameworks to eliminate their individual disadvantages. It allows testers to write tests using keywords without coding, while supporting bulk data changes and flexible execution like data-driven frameworks. The document proposes a sample hybrid framework where test data, page objects, and keywords are defined in an Excel file, eliminating the need for code. This provides reusability, maintainability and a low learning curve while maintaining flexibility.

test automationweb driverhybrid framework development
Advantages of Automated testing  Cost effective -  Automated testing has an upfront cost to develop, but over the lifetime of a product it will offer substantial net savings. An average automated test suite development is 3-5 times the cost of a complete manual test cycle. Over multiple product releases with multiple cycles per release, this cost is quickly recouped.  Decrease the product’s time to market and prevent QA from being the bottleneck in product delivery  Improve coverage of regression testing  Improve the quality of testing by reducing the human error  Make test cycle more maintainable, consistent and thorough  Improve the reusability of tests  Provide the organized, detailed test log and audit trail of executed tests  Simplifies the debugging by allowing the exact test case to be replicated  Allows cross-referencing of automated test cases against bug logged in the bug tracking system.
Starting with Automation… The tester works begin once the developer is ready with the software. On an average effort require to automate 1 test case is equivalent to effort required for executing the test case 8 times manually. There are several factors to consider before anyone go for the automated testing.  Cost effectiveness of the automation.   Resources availability.   Reusability of the automated test script. Tool selection.
Typical Automated testing process   Create a test plan Record a test script ( Use agreed norms ) Customise Code , Use Reusable components and functions Add Check points and parameterize  Use standard programming conventions Save and run Test Script Create a Test Suite
Automation Tools WinRunner (From Mercury Interactive  www.merc-int.com ) .  Quick Test Pro (From Mercury Interactive  www.merc-int.com ) .  Silk Test (From Segue  www.segue.com ) . Visual Test (From Rational  www.rational.com ) . Rational Robot (From Rational  www.rational.com ) . QA Run and Test Partner ( www.compuware .com)

Recommended for you

Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile

The document discusses test automation in agile environments. It covers Capgemini's World Quality Report on automation, the evolution of business models and IT ecosystems, and challenges with agile automation. Key topics include testing being embedded within the Scrum process with no separate schedule for testing, the importance of test-driven development and behavior-driven development, achieving high levels of automation coverage, and using tools like Cucumber, JUnit, and Selenium to support test automation. The document emphasizes that automation is necessary to achieve faster time to market and increased productivity in agile.

ataggatagtr2016
Software testing
Software testingSoftware testing
Software testing

Testing software is important to uncover errors before delivery to customers. There are various techniques for systematically designing test cases, including white box and black box testing. White box testing involves examining the internal logic and paths of a program, while black box testing focuses on inputs and outputs without viewing internal logic. The goal of testing is to find the maximum number of errors with minimum effort.

Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals

Testing is the process of validating and verifying software to ensure it meets specifications and functions as intended. There are different levels of testing including unit, integration, system, and acceptance testing. An important part of testing is having a test plan that outlines the test strategy, cases, and process to be followed. Testing helps find defects so the product can be improved.

software engineeringtestingblack box
Maintainability   Reliability Most important criteria for Automation
Current Trend ….  Programmers quickly create application using  GUI tools which has lead to increase in their productivity   Pressure on Testers Test more and more code in less time  Improve their productivity Move towards automation for GUI , CLI and API based application Test Tools – a misnomer Lack of Programming skills Record and play back scripts , very sensitive to change How to effectively Design , Develop and maintain automated suites?
Who should Automate  Tests Good Testing and development skills Understand Testing Requirements and situations Testers face. Testers who want to be programmers ? Automate 100 % testing ? A test automator needs to know how to develop software. He needs to be particularly aware of issues such as maintenance and reliability. Making the system easy to update with changes to the product under test should be the priority.   Independent contractors . Who will maintain tests after they have left ? Rejects from Development or Testing as Automators ?
What and When to Automate Is 100 % automation possible ?  Testing is the art of pragmatic – Good software testing requires good judgment The area where one spends a lot of time testing manually Regression Testing Smoke Testing Don’t focus on areas that might otherwise go untested ( Difficult to maintain ) Rigorous Manual testing of the functionality before Very Strong Manual Testing Process and Procedures Automating everything to make job exciting ? Problems associated Test automation takes 8 times the time to test manually continued ….

Recommended for you

Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning

This document provides guidelines for effective test automation at IBM Global Services. It discusses that automation is viewed as a silver bullet but can also frustrate if not implemented properly. The document recommends starting simple and increasing complexity as skills grow. It provides considerations for automation, such as tests that are long, repetitive, and non-subjective. The document outlines 10 guidelines for automation, including establishing standards, separating what from how, using a six phase process, and defining required skills. It also discusses functional decomposition and keyword-driven methodologies and provides an overview of automation tools.

6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture

This document discusses 6 traits of a successful test automation architecture: 1. Deciding which test levels to automate by considering factors like efficiency, expected vs unexpected scenarios, and intelligence vs repetitiveness. 2. Design principles for test automation including modularity, reusability, and separation of concerns. 3. Locator strategy which determines whether tests are flaky or robust, prioritizing unique, descriptive locators that are unlikely to change. 4. Methodology such as behavior driven development, test driven development, and continuous testing approaches. 5. Framework and language selection considering project dynamics and technologies. Examples mentioned are Geb, Spock, Groovy, and CodeceptJS. 6.

test automationtest automation conferencesoftware testing
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success

Choosing an appropriate tool and building the right framework are typically thought of as the main challenges in implementing successful test automation. However, long term success requires that other key questions must be answered including: - What are our objectives? - How should we be organized? - Will our processes need to change? - Will our test environment support test automation? - What skills will we need? - How and when should we implement? In this workshop, Lee will discuss how to assess your test automation readiness and build a strategy for long term success. You will interactively walk through the assessment process and build a test automation strategy based on input from the group. Attend this workshop and you will take away a blue print and best practices for building an effective test automation strategy in your organization. • Understand the key aspects of a successful test automation function • Learn how to assess your test automation readiness • Develop a test automation strategy specific to your organization

test automationstrategy
What and When to Automate Desire to be a programmer Maintainability should be the top priority – Aim to run tests unattended Usage of Reusable components and distribution of work First run on test and then build test suite – Focus not on how much code has been written but how many test set have been automated and how reliable and maintainable they are . All areas that are run frequently should be automated . Don’t automate everything .. Look for parts that are big paybacks. Introduction of Automation in Development cycle – Timing is important.
Building Maintainable and Reliable Test Suites Biggest challenge – Product Interface / components changes Accurate automated Test suites  No False Positives  Abortions and False negatives are still o.k. Usability and comprehension Standard naming conventions and programming practices Using Error Recovery Systems - Exception handling Test Case Independence – base state restoration
Key to successful Automation Apply Software Development Process Improve the Testing Process Define Requirements Prove the concept Champion Product Testability Design for Sustainability  Plan for Deployment Face the Challenges of Success
Key to successful Automation Apply Software Development Process Avoid Pattern Zero status (no distinction between user and developer ) Dedicated resources to Test Automation and treating like development activity Plan , Design  Effective coding practices Configuration management , version control Bug Tracking and testing  Usage of comments , functions etc  Usage of Re-usable components Comprehensive documentation including Best practices guide

Recommended for you

Test Automation
Test AutomationTest Automation
Test Automation

This document summarizes a presentation on test automation. It discusses why test automation is needed such as manual testing taking too long and being error prone. It covers barriers to test automation like lack of experience and programmer attitudes. An automation strategy is proposed, including categories of tests to automate and not automate. Best practices are provided such as having an automation engineer and following software development practices. Specific tools are also mentioned. Good practices and lessons learned are shared such as prioritizing tests and starting better practices with new development.

agiletest automation
Automation Testing
Automation TestingAutomation Testing
Automation Testing

The document discusses automation testing basics, including that automation testing is done using automated tools to write and execute test cases. It explains that automation testing should be used for tasks that are time-consuming, repeated, tedious, or involve high risk test cases. The document also lists some popular free and commercial automation testing tools.

Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach

This document discusses test automation approaches and best practices. It defines test automation as using software to perform test activities like execution and checking results. The document outlines how test automation fits into the software development lifecycle and notes that reducing manual testing and redundant tasks is key to success. It also discusses factors to consider for test automation, types of tests that can be automated, and technologies used for test automation like object-based and image-based recognition.

test otomasyontest automationselenium
Key to successful Automation Improve the Testing Process Robust Manual Testing and Defect Management process and procedures. Objective is to streamline Test process , allowing things to move more quickly without delays. Effective Regression and documentation of the same Document Testing Approach Names , data for tests  , preconditions etc Expected results  Test Designs Creation of Logs Identify product improvements that would help Manual Testing ( eg simplify installation process ) More computers for Testing
Key to successful Automation Define Requirements What needs to be tested – Test Design Automation Requirements – Goals  for automation  Speed up testing to accelerate releases  Allow testing to happen more frequently  Reduce costs of testing by reducing manual labor  Improve test coverage  Ensure consistency  Improve the reliability of testing  Allow testing to be done by staff with less skill  Define the testing process and reduce dependence on the few who know it  Make testing more interesting  Develop programming skills  Agree on all party expectations
Key to successful Automation Prove the concept Proof of concept – A meaningful test suites that demonstrates suitability for  Regression Testing  Configuration Testing GUI / NON GUI Testing Demonstrate advantages of automation to higher management Secure support and necessary approvals  Tool Evaluation and Feasibility study  Need to investigate if the tool and approach will work for your product and staff . Is it even possible to automate tests for your product ? Vendor issues, support , license etc Budget and other considerations
Key to successful Automation Champion Product Testability CLI / API / GUI Testing GUI is toughest to automate  Heavy Customization  of automated scripts ( programming) Technical challenge of getting the tool to work with the product Add  inns Non standard components Keeping up with frequent design change to GUI . API Automation  – Unit Testing CLI Testing simpler – For e.g. .Install shield silent installation

Recommended for you

Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process

This document discusses adapting testing roles and processes to an agile development methodology. It notes that in agile, testers are full team members who participate in planning and requirements analysis from the start of each sprint. Testing activities occur throughout development rather than just at the end. Challenges in transitioning include changing traditional testing roles and resistance to change, while benefits include more transparent communication and continuous feedback between testers and developers. The document provides examples of agile testing practices and recommendations for improving testing efficiency such as increased test automation and planning.

qaagilesoftware
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools

This document discusses test automation, including what it is, why it's used, different levels and approaches. It summarizes the benefits of automation over manual testing, and outlines common code-driven and GUI-driven automation techniques. It also provides an overview of popular automation tools, frameworks, and the future of automation testing as a career.

vietnam software testingsoftware testingkms technology
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing

This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the process for automating tests. While automation testing provides benefits like time savings, it also has limitations such as the need for programming skills and maintenance of test code. Key challenges of automation testing include unrealistic expectations of tools and dependency on third party integrations.

when to automateneed for automation testingautomation testing
Key to successful Automation Design for Sustainability Long term focus on the need for maintenance and reliability so that the product remains functional and relevant with new releases.  Integrity of the tests are paramount  Trust automation results , All checkpoints covered  No False positive or False Alarms Tests have PASS, FAILED and NOTRUN Status Performance Attention on testing automation , automated code etc. Proper  Code Reviews , remove redundant code etc  Ease of Analysis Analyze failure due to product defects or improper automation  False Alarm Improve Error Reporting Remove unreliable tests that are redundant or obsolete
Key to successful Automation Reviewability  Ease of understanding  the objectives and working of each test Good documentation and code coverage  Maintainability Keep in mind product changes by using Centralized object repository , libraries etc Independence Must for successful execution of a test suite as one failure could cascade others.  Ideally two tests should be independent unlike Manual Testing Each test should create its own test environment Though redundancy increases there is more reliability Object is to run tests unattended .
Key to successful Automation Repeatability Tests should execute  in the same way each and every time they are run  Action Libraries Reusable components Effective documentation Differentiate between errors in Code or called function Data Driven Tests Also called Table Driven or third generation automation Tests are written in simplified table format Parser is written to interpret and execute test statements. Heuristic Verification Correct Result verification
Key to successful Automation Plan for Deployment Document setup/installation, how to run tests and analyze failures Package tests for other people to use  Helpful error messages Treat Test Suites as a product – Least dependencies on external libraries /services. Test suites readily available to concerned parties  Face the challenges of success Staff should know how to diagnose failures . Minimize calling automators for every issue Defects should be reproduced manually Repair Old tests / Add new /  Maintenance etc Formal Review of Test suites after each release. – Avoid Old Oak syndrome

Recommended for you

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing

This document provides an introduction to automation testing. It discusses the need for automation testing to improve speed, reliability and test coverage. The document outlines when tests should be automated such as for regression testing or data-driven testing. It also discusses automation tool options and the types of tests that can be automated, including functional and non-functional tests. Finally, it addresses the advantages of automation including time savings and repeatability, as well as challenges such as maintenance efforts and tool limitations.

advantages of automationintroduction to automation testingsoftware testing
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt

The document discusses software test automation. It defines software test automation as activities that aim to automate tasks in the software testing process using well-defined strategies. The objectives of test automation are to free engineers from manual testing, speed up testing, reduce costs and time, and improve quality. Test automation can be done at the enterprise, product, or project level. There are four levels of test automation maturity: initial, repeatable, automatic, and optimal. Essential needs for successful automation include commitment, resources, and skilled engineers. The scope of automation includes functional and performance testing. Functional testing is well-suited for automation of regression testing. Performance testing requires automation to effectively test load, stress, and other non-functional requirements

11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt

Automated testing involves developing and executing test scripts using an automated test tool to verify test requirements. It has advantages like reduced costs, increased efficiency, and improved quality. However, automated testing also has limitations such as an inability to test certain aspects that require physical interaction. The automated test life-cycle methodology involves planning, designing, executing, and reviewing automated tests. Key steps include deciding what to automate, acquiring suitable tools, and analyzing the testing process.

software engineering
Key to successful Automation Reviewability  Ease of understanding  the objectives and working of each test Good documentation and code coverage  Maintainability Keep in mind product changes by using Centralized object repository , libraries etc Independence Must for successful execution of a test suite as one failure could cascade others.  Ideally two tests should be independent unlike Manual Testing Each test should create its own test environment Though redundancy increases there is more reliability Object is to run tests unattended .

More Related Content

What's hot

QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
Nadeeshani Aththanagoda
 
Automation testing
Automation testingAutomation testing
Automation testing
Mona M. Abd El-Rahman
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
Intetics
 
What is Shift Left Testing.pdf
What is Shift Left Testing.pdfWhat is Shift Left Testing.pdf
What is Shift Left Testing.pdf
Testbytes
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
Carl Bruiners
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
Nivetha Padmanaban
 
Best practices quality assurance
Best practices   quality assuranceBest practices   quality assurance
Best practices quality assurance
Shakal Shukla
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
Ganuka Yashantha
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
Agile Testing Alliance
 
Software testing
Software testingSoftware testing
Software testing
Ashu Bansal
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
Erdem YILDIRIM
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 
Test Automation
Test AutomationTest Automation
Test Automation
nikos batsios
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
Sun Technlogies
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
Keytorc Software Testing Services
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
Gloria Stoilova
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools
KMS Technology
 

What's hot (20)

QA process Presentation
QA process PresentationQA process Presentation
QA process Presentation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
What is Shift Left Testing.pdf
What is Shift Left Testing.pdfWhat is Shift Left Testing.pdf
What is Shift Left Testing.pdf
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
 
Best practices quality assurance
Best practices   quality assuranceBest practices   quality assurance
Best practices quality assurance
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
Software testing
Software testingSoftware testing
Software testing
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Agile QA and Testing process
Agile QA and Testing processAgile QA and Testing process
Agile QA and Testing process
 
Introduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and ToolsIntroduction to Test Automation - Technology and Tools
Introduction to Test Automation - Technology and Tools
 

Similar to Automation Concepts

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Archana Krushnan
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Archana Krushnan
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
Poonkodi Jayakumar
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
ShivareddyGangam
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
DrKARTHICKRAGHUNATHK
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
MadhaviP23
 
Top Benefits of Automation Testing for a Successful Product Release.pdf
Top Benefits of Automation Testing for a Successful Product Release.pdfTop Benefits of Automation Testing for a Successful Product Release.pdf
Top Benefits of Automation Testing for a Successful Product Release.pdf
pCloudy
 
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Shivang100
 
manual & automation testing
manual & automation testingmanual & automation testing
manual & automation testing
Bharat Dawar
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
anuvip
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdf
RohitBhandari66
 
Benefits And Challenges of Rapid Automation Testing.pdf
Benefits And Challenges of Rapid Automation Testing.pdfBenefits And Challenges of Rapid Automation Testing.pdf
Benefits And Challenges of Rapid Automation Testing.pdf
pCloudy
 
Improving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case AutomationImproving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case Automation
Vipul Gupta
 
Class17
Class17Class17
Class17
makesame
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
Sundar Sritharan
 
DevOps Test Automation_ Its Significance, Types, and Tools.pdf
DevOps Test Automation_ Its Significance, Types, and Tools.pdfDevOps Test Automation_ Its Significance, Types, and Tools.pdf
DevOps Test Automation_ Its Significance, Types, and Tools.pdf
kalichargn70th171
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
pavelpopov43
 
Best Practises In Test Automation
Best Practises In Test AutomationBest Practises In Test Automation
Best Practises In Test Automation
99tests
 
Test automation
Test automationTest automation
Test automation
Sadani Rodrigo
 
Upstream testing.
Upstream testing.Upstream testing.
Upstream testing.
Mindtree Ltd.
 

Similar to Automation Concepts (20)

Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Unit 5 st ppt
Unit 5 st pptUnit 5 st ppt
Unit 5 st ppt
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
 
11_Automated_Testing.ppt
11_Automated_Testing.ppt11_Automated_Testing.ppt
11_Automated_Testing.ppt
 
Top Benefits of Automation Testing for a Successful Product Release.pdf
Top Benefits of Automation Testing for a Successful Product Release.pdfTop Benefits of Automation Testing for a Successful Product Release.pdf
Top Benefits of Automation Testing for a Successful Product Release.pdf
 
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
 
manual & automation testing
manual & automation testingmanual & automation testing
manual & automation testing
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
Everything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdfEverything You Need to Know About Regression Testing Automation.pdf
Everything You Need to Know About Regression Testing Automation.pdf
 
Benefits And Challenges of Rapid Automation Testing.pdf
Benefits And Challenges of Rapid Automation Testing.pdfBenefits And Challenges of Rapid Automation Testing.pdf
Benefits And Challenges of Rapid Automation Testing.pdf
 
Improving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case AutomationImproving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case Automation
 
Class17
Class17Class17
Class17
 
Top 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid ThemTop 5 Pitfalls of Test Automation and How To Avoid Them
Top 5 Pitfalls of Test Automation and How To Avoid Them
 
DevOps Test Automation_ Its Significance, Types, and Tools.pdf
DevOps Test Automation_ Its Significance, Types, and Tools.pdfDevOps Test Automation_ Its Significance, Types, and Tools.pdf
DevOps Test Automation_ Its Significance, Types, and Tools.pdf
 
Automation Best Practices.pptx
Automation Best Practices.pptxAutomation Best Practices.pptx
Automation Best Practices.pptx
 
Best Practises In Test Automation
Best Practises In Test AutomationBest Practises In Test Automation
Best Practises In Test Automation
 
Test automation
Test automationTest automation
Test automation
 
Upstream testing.
Upstream testing.Upstream testing.
Upstream testing.
 

Recently uploaded

Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
Awais Yaseen
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 

Recently uploaded (20)

Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Best Programming Language for Civil Engineers
Best Programming Language for Civil EngineersBest Programming Language for Civil Engineers
Best Programming Language for Civil Engineers
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 

Automation Concepts

  • 1. Key to successful Automation
  • 2. Murphy’s Rules for Testers Never assume anything. There is no such thing as stupid question. Record everything thoroughly. If you don’t understand, it’s not your fault.
  • 3. What is Testing ? Testing is a process of executing the program with intent to finding the bugs Testing is the set of processes which ensure that the functionality and performance planned through design has been delivered through the system. Testing is required to improve the quality of the product before handling over the product to the customer.
  • 4. Type of testing Manual Testing Automated testing
  • 5. Manual Testing Traditional form of testing Slow , tedious , boring Costly , more time & effort Difficult to Manage Reliable ? Flexible (A lot have been said about the Slow and tediousness of the manual testing but it’s the flexibility that it provides that overshadows all other points. With the frequent change in the software its not viable to change the test script regularly. So when changes are brought into the software regularly, the manual testing is the best option).
  • 6. Automation and its Need Automation is done to reduce repeated and redundant testing. Automation maintains a single standard of quality for your application over time — across releases, platforms, and networks. It is used to replace or supplement manual testing with a suite of test programs. Benefits include increased software quality, improved time and resource efforts , repeatable test procedures, and reduced testing costs.
  • 7. Myths about Automated testing Find more bugs:- In most places the test cases are written by test engineers who are familiar with the application they are testing. From test cases to test scripts, automation does not add anything in the process to find more bugs. The test scripts will work only as good as the test cases when comes to finding bugs. Eliminate or reduce manual testers:-For the stable application we can say this, but for an application that required any change this is totally a myth. As said earlier that the test scripts are as good as the test cases itself so for the new test cases manual tester will definitely be required. Automated Testing doesn't mean Automatic Testing …. It means Computer aided testing
  • 8. Advantages of Automated testing Ease the testing process Quicken the testing, by reducing the time and effort involved in manual testing . A typical automated test suite will run in less than 24 hours, without any human intervention required. For a sophisticated product, manual testing may require dozens of staff months to perform the same testing Maintain consistency – After a new drop is taken, the same script would be run against the same data, thereby eliminating the chances of any inconsistency. With a complex testing process manual testing often yields inconsistent coverage and results depending on the staff and schedule employed. An automated test suite ensures the same scope and process is used repeatable each time testing is performed. Accelerate release schedule by testing at any point in the development cycle IMPROVED TESTING PRODUCTIVITY. With its much shorter execution time an automated test suite can be run multiple times over the course of a product development cycle. By testing earlier and more often bugs are detected and corrected earlier and at much reduced expense. IMPROVED PRODUCT QUALITY. The sum of improved test procedures and testing productivity is a substantial improvement in product quality. Automated testing detects functional and performance issues more efficiently, allowing test staff to focus on quality in areas such as documentation, installation, hardware compatibility, etc. Reuses test across platforms Encourage more thorough testing without straining manual resources
  • 9. Advantages of Automated testing Cost effective - Automated testing has an upfront cost to develop, but over the lifetime of a product it will offer substantial net savings. An average automated test suite development is 3-5 times the cost of a complete manual test cycle. Over multiple product releases with multiple cycles per release, this cost is quickly recouped. Decrease the product’s time to market and prevent QA from being the bottleneck in product delivery Improve coverage of regression testing Improve the quality of testing by reducing the human error Make test cycle more maintainable, consistent and thorough Improve the reusability of tests Provide the organized, detailed test log and audit trail of executed tests Simplifies the debugging by allowing the exact test case to be replicated Allows cross-referencing of automated test cases against bug logged in the bug tracking system.
  • 10. Starting with Automation… The tester works begin once the developer is ready with the software. On an average effort require to automate 1 test case is equivalent to effort required for executing the test case 8 times manually. There are several factors to consider before anyone go for the automated testing. Cost effectiveness of the automation. Resources availability. Reusability of the automated test script. Tool selection.
  • 11. Typical Automated testing process Create a test plan Record a test script ( Use agreed norms ) Customise Code , Use Reusable components and functions Add Check points and parameterize Use standard programming conventions Save and run Test Script Create a Test Suite
  • 12. Automation Tools WinRunner (From Mercury Interactive www.merc-int.com ) . Quick Test Pro (From Mercury Interactive www.merc-int.com ) . Silk Test (From Segue www.segue.com ) . Visual Test (From Rational www.rational.com ) . Rational Robot (From Rational www.rational.com ) . QA Run and Test Partner ( www.compuware .com)
  • 13. Maintainability Reliability Most important criteria for Automation
  • 14. Current Trend …. Programmers quickly create application using GUI tools which has lead to increase in their productivity Pressure on Testers Test more and more code in less time Improve their productivity Move towards automation for GUI , CLI and API based application Test Tools – a misnomer Lack of Programming skills Record and play back scripts , very sensitive to change How to effectively Design , Develop and maintain automated suites?
  • 15. Who should Automate Tests Good Testing and development skills Understand Testing Requirements and situations Testers face. Testers who want to be programmers ? Automate 100 % testing ? A test automator needs to know how to develop software. He needs to be particularly aware of issues such as maintenance and reliability. Making the system easy to update with changes to the product under test should be the priority. Independent contractors . Who will maintain tests after they have left ? Rejects from Development or Testing as Automators ?
  • 16. What and When to Automate Is 100 % automation possible ? Testing is the art of pragmatic – Good software testing requires good judgment The area where one spends a lot of time testing manually Regression Testing Smoke Testing Don’t focus on areas that might otherwise go untested ( Difficult to maintain ) Rigorous Manual testing of the functionality before Very Strong Manual Testing Process and Procedures Automating everything to make job exciting ? Problems associated Test automation takes 8 times the time to test manually continued ….
  • 17. What and When to Automate Desire to be a programmer Maintainability should be the top priority – Aim to run tests unattended Usage of Reusable components and distribution of work First run on test and then build test suite – Focus not on how much code has been written but how many test set have been automated and how reliable and maintainable they are . All areas that are run frequently should be automated . Don’t automate everything .. Look for parts that are big paybacks. Introduction of Automation in Development cycle – Timing is important.
  • 18. Building Maintainable and Reliable Test Suites Biggest challenge – Product Interface / components changes Accurate automated Test suites No False Positives Abortions and False negatives are still o.k. Usability and comprehension Standard naming conventions and programming practices Using Error Recovery Systems - Exception handling Test Case Independence – base state restoration
  • 19. Key to successful Automation Apply Software Development Process Improve the Testing Process Define Requirements Prove the concept Champion Product Testability Design for Sustainability Plan for Deployment Face the Challenges of Success
  • 20. Key to successful Automation Apply Software Development Process Avoid Pattern Zero status (no distinction between user and developer ) Dedicated resources to Test Automation and treating like development activity Plan , Design Effective coding practices Configuration management , version control Bug Tracking and testing Usage of comments , functions etc Usage of Re-usable components Comprehensive documentation including Best practices guide
  • 21. Key to successful Automation Improve the Testing Process Robust Manual Testing and Defect Management process and procedures. Objective is to streamline Test process , allowing things to move more quickly without delays. Effective Regression and documentation of the same Document Testing Approach Names , data for tests , preconditions etc Expected results Test Designs Creation of Logs Identify product improvements that would help Manual Testing ( eg simplify installation process ) More computers for Testing
  • 22. Key to successful Automation Define Requirements What needs to be tested – Test Design Automation Requirements – Goals for automation Speed up testing to accelerate releases Allow testing to happen more frequently Reduce costs of testing by reducing manual labor Improve test coverage Ensure consistency Improve the reliability of testing Allow testing to be done by staff with less skill Define the testing process and reduce dependence on the few who know it Make testing more interesting Develop programming skills Agree on all party expectations
  • 23. Key to successful Automation Prove the concept Proof of concept – A meaningful test suites that demonstrates suitability for Regression Testing Configuration Testing GUI / NON GUI Testing Demonstrate advantages of automation to higher management Secure support and necessary approvals Tool Evaluation and Feasibility study Need to investigate if the tool and approach will work for your product and staff . Is it even possible to automate tests for your product ? Vendor issues, support , license etc Budget and other considerations
  • 24. Key to successful Automation Champion Product Testability CLI / API / GUI Testing GUI is toughest to automate Heavy Customization of automated scripts ( programming) Technical challenge of getting the tool to work with the product Add inns Non standard components Keeping up with frequent design change to GUI . API Automation – Unit Testing CLI Testing simpler – For e.g. .Install shield silent installation
  • 25. Key to successful Automation Design for Sustainability Long term focus on the need for maintenance and reliability so that the product remains functional and relevant with new releases. Integrity of the tests are paramount Trust automation results , All checkpoints covered No False positive or False Alarms Tests have PASS, FAILED and NOTRUN Status Performance Attention on testing automation , automated code etc. Proper Code Reviews , remove redundant code etc Ease of Analysis Analyze failure due to product defects or improper automation False Alarm Improve Error Reporting Remove unreliable tests that are redundant or obsolete
  • 26. Key to successful Automation Reviewability Ease of understanding the objectives and working of each test Good documentation and code coverage Maintainability Keep in mind product changes by using Centralized object repository , libraries etc Independence Must for successful execution of a test suite as one failure could cascade others. Ideally two tests should be independent unlike Manual Testing Each test should create its own test environment Though redundancy increases there is more reliability Object is to run tests unattended .
  • 27. Key to successful Automation Repeatability Tests should execute in the same way each and every time they are run Action Libraries Reusable components Effective documentation Differentiate between errors in Code or called function Data Driven Tests Also called Table Driven or third generation automation Tests are written in simplified table format Parser is written to interpret and execute test statements. Heuristic Verification Correct Result verification
  • 28. Key to successful Automation Plan for Deployment Document setup/installation, how to run tests and analyze failures Package tests for other people to use Helpful error messages Treat Test Suites as a product – Least dependencies on external libraries /services. Test suites readily available to concerned parties Face the challenges of success Staff should know how to diagnose failures . Minimize calling automators for every issue Defects should be reproduced manually Repair Old tests / Add new / Maintenance etc Formal Review of Test suites after each release. – Avoid Old Oak syndrome
  • 29. Key to successful Automation Reviewability Ease of understanding the objectives and working of each test Good documentation and code coverage Maintainability Keep in mind product changes by using Centralized object repository , libraries etc Independence Must for successful execution of a test suite as one failure could cascade others. Ideally two tests should be independent unlike Manual Testing Each test should create its own test environment Though redundancy increases there is more reliability Object is to run tests unattended .

Editor's Notes

  1. To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
  2. To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely. To provide a code-execution environment that minimizes software deployment and versioning conflicts. To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party. To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments. To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications. To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.
  3. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  4. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  5. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  6. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  7. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  8. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  9. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  10. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  11. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  12. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache:
  13. Each computer where the common language runtime is installed has a machine-wide code cache called the global assembly cache. As a general guideline, keep assembly dependencies private and locate assemblies in the application directory unless sharing an assembly is explicitly required. In addition, you do not have to install assemblies into the global assembly cache to make them accessible to COM interop or unmanaged code. Note   There are scenarios where you explicitly do not want to install an assembly into the global assembly cache. If you place one of the assemblies that make up an application in the global assembly cache, you can no longer replicate or install the application by XCOPYing the application directory. You must move the assembly in the global assembly cache as well. There are several ways to deploy an assembly into the global assembly cache: