What are the Key drivers for automation? What are the Challenges in Agile automation and How to deal with them? How to automate? Who will automate? Which tool to select? Commercial or open source? What to automate? Which features? Here is what our experience says
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.
Test Automation Framework Design | www.idexcel.com
The document provides guidelines for designing a robust test automation framework. It discusses that a well-designed framework increases testing efficiency and reduces costs. The key aspects of framework design include defining objectives, selecting the appropriate framework type, managing data, ensuring reusability, integrating with other tools, and flexible execution and reporting. Idexcel's test automation framework was created following these best practices to provide a maintainable and reusable framework.
This document proposes an automated test architecture for the UI Builder application using REST API testing, UI testing, and integration testing. It recommends the Rest Assured library for API testing due to its ability to integrate with Jenkins and remove the need for manual HTTP calls. Protractor is proposed for UI testing as it allows testing Angular applications in JavaScript and integrates well with Selenium. Both test frameworks would be set up with their own Git repositories linked to Jenkins jobs. Integration testing would link the API and UI test repos. The test automation aims to provide faster feedback and reduce regressions as the application grows.
Agile testing principles and practices - Anil Karade
Traditional test processes are not adaptive to extensive changes in software. Agile process emphasizes on ability to adapt to changing business needs, customer collaboration, integrated teams and frequent delivery of business values. Agile is an umbrella term that describes a variety of methods including XP and Scrum.
The talk will discuss pitfalls of the traditional testing process. Traditional testing process happens very late in the SDLC Where as Agile process focuses on test-first approach. The talk will explain benefits of going agile. Principles and practices of agile process will be discussed and agile methodologies Scrum and Extreme Programming will be discussed in detail. Purpose of Scrum, its effectiveness, timings and managing the scrum will be discussed. Some of the practices for XP like Pair Programming, Test Driven Development will be discussed. The Talk will also cover the QA role in agile world. The talk will cover the implementation issues while shifting from traditional to agile process. Talk will also include an interactive game for illustration of concepts.
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.
This is my complete introductory course for Software Test Automation.If you need full training that includes different automation tools (Selenium, J-Meter, Burp, SOAP UI etc), feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Manual testing takes more effort and cost than automated testing. It is more boring and provides limited visibility for stakeholders. Automated tests can test single units, are reusable, and provide a safety net for refactoring. They also ensure all tests are run, drive clean design, and do not create code clutter like manual tests. An initial learning curve and questions around organization and reuse may prevent developers from writing automated tests, but designating responsibility and learning tools can help overcome these issues.
This document discusses automation testing and provides an overview of manual vs automation testing. It covers why automation testing is important, including allowing repetitive tests to run across multiple builds and reducing human error. Common automation tools like QTP and Selenium are mentioned. The history of automation from record and playback to modern keyword-driven approaches is summarized. Examples of building automation frameworks for QTP and Selenium are provided. In conclusion, the document promotes automation testing as important for the future.
The document discusses test automation process and framework. It provides details on what test automation means, benefits of automation, guidelines for identifying test cases to automate, challenges in automation, and components of an automation framework like data tables, libraries, object repositories, scripts, and results.
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
Today we need everything reliable and accelerated, so to attain prompt results we are using varied automation testing tools. An automation tool is a piece of software that is run by little human interaction. Different testing tools are used for automation/manual testing, unit testing, performance, web, mobile, etc., more to that we have some open source testing tools as well.
Katalon Studio is a free and robust automation solution for API, Web, and Mobile testing. It integrates all necessary components with built-in keywords and project templates into a complete automation framework. Katalon Studio is easy to use for beginners but still offers advanced capabilities for experienced users. This solution is trusted by an active community of over 150K users from 150+ countries around the world.
In this knolx, we’ll take a look at what is API Testing and how the katalon studio is helpful in API Testing.
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
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.
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
This document discusses automation testing. It begins by defining automation testing and listing its benefits, which include saving time and money, improving accuracy, and increasing test coverage. It then covers levels of automation testing, frameworks, approaches like record and playback, modular scripting, and keyword-driven testing. The document also discusses the automation testing lifecycle, how to choose a testing tool, types of tools, when to automate and who should automate, supporting practices, and skills needed for automation testing.
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...
This document provides guidance on conducting manual test estimation for the pre-sale phase of a project. It discusses factors to consider like requirements, environments, and complexity. Main activities to estimate include requirements review, test design, execution, and bug handling. Regression is calculated based on sprint count, tested functionality percentage, and environments. Risks like changing requirements and infrastructure issues are accounted for with multipliers. A demo is provided of estimating a real project involving calculations, environments, and risks. Statistics on past projects estimated duration and team size are also included.
Ivan Pashko - Simplifying test automation with design patterns
The document discusses simplifying test automation through the use of design patterns. It begins by defining code smells that make tests complex, such as duplication, conditional logic, obscure tests, and fragile tests. It then explains several design patterns that can address these smells, including template method for removing duplication, strategy for replacing conditional logic, factory/builder for constructing complex objects, composite for grouping objects, and decorator for adding responsibilities dynamically. The document advocates for clean, well-structured test code through applying these patterns.
This document discusses patterns for test automation frameworks. It begins by introducing common patterns like page objects, business layer, and factories. It then provides examples of page object and business layer page object patterns. The document also discusses test data patterns and different ways to specify test data and locators. Finally, it outlines advantages of using patterns like reduced complexity, reusability, and maintenance. The key message is that the best pattern depends on the specific test automation context.
Agile Testing Framework - The Art of Automated Testing
Once your organization has successfully implemented Agile methodologies, there are two major areas that will require improvements: Continuous Integration and Automated Testing.
This presentation illustrates why it's important to invest in an Automated Testing Framework (ATF) to reduce technical debt, increase quality and accelerate time to market.
Learn more at www.agiletestingframework.com.
This document provides guidance on becoming an expert in test automation. It recommends learning multiple automation tools to test different applications and platforms, including Selenium for web, Appium for mobile, REST Assured for APIs, and tools like Robot Framework and Winium for desktop. The document also stresses the importance of creating reusable, scalable automation frameworks that integrate with other tools and are not dependent on a single language or platform. It suggests attending meetups and talks to learn from other experts and stay up to date on new techniques and tools in the evolving field of test automation.
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.
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.
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
M. Holovaty, Концепции автоматизированного тестирования
The document discusses concepts related to automated testing, including:
1) Automated testing scripts are developed and updated in sync with the cyclic development process of the application under test.
2) Automated testing is effective when the time to create, update, and analyze scripts across iterations is less than the time for manual testing.
3) Effective logging, test result modeling, and failure analysis are important for reducing the time spent understanding failures in automated tests.
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
The document discusses the role of QA and testing in agile software development, describing key differences between traditional and agile testing approaches and outlining agile testing practices like test-driven development, continuous integration, regression testing, and exploratory testing. It also covers the role of testers in agile projects and provides an example of how one company, GlobalLogic, implements agile testing through a unique Velocity method and platform.
This is a presentation given at the Hangzhou Scrum Forum 2009, sponsored by Perficient, China. The topic is how to incorporate automated functional testing into an agile project, and also some best practices, tips, and warnings.
www.perficient.com
Scrum gathering Paris 2013 - test automation strategy for Scrum ProjectsEliane Collins
This document discusses test automation strategies and practices for Scrum projects. It describes four case studies of different test automation approaches used by teams. The key lessons were that separate testing and development teams led to lack of collaboration and knowledge sharing. The most successful strategy involved developers and testers working together to automate unit, integration and system tests using tools like JUnit and FitNesse. Having the team collocated and doing pair programming for test automation resulted in improved coverage, fewer bugs found per story, and motivation to learn new solutions. The conclusion is that collaboration is important for successful agile test automation.
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.
The document provides guidelines for designing a robust test automation framework. It discusses that a well-designed framework increases testing efficiency and reduces costs. The key aspects of framework design include defining objectives, selecting the appropriate framework type, managing data, ensuring reusability, integrating with other tools, and flexible execution and reporting. Idexcel's test automation framework was created following these best practices to provide a maintainable and reusable framework.
This document proposes an automated test architecture for the UI Builder application using REST API testing, UI testing, and integration testing. It recommends the Rest Assured library for API testing due to its ability to integrate with Jenkins and remove the need for manual HTTP calls. Protractor is proposed for UI testing as it allows testing Angular applications in JavaScript and integrates well with Selenium. Both test frameworks would be set up with their own Git repositories linked to Jenkins jobs. Integration testing would link the API and UI test repos. The test automation aims to provide faster feedback and reduce regressions as the application grows.
Agile testing principles and practices - Anil KaradeIndicThreads
Traditional test processes are not adaptive to extensive changes in software. Agile process emphasizes on ability to adapt to changing business needs, customer collaboration, integrated teams and frequent delivery of business values. Agile is an umbrella term that describes a variety of methods including XP and Scrum.
The talk will discuss pitfalls of the traditional testing process. Traditional testing process happens very late in the SDLC Where as Agile process focuses on test-first approach. The talk will explain benefits of going agile. Principles and practices of agile process will be discussed and agile methodologies Scrum and Extreme Programming will be discussed in detail. Purpose of Scrum, its effectiveness, timings and managing the scrum will be discussed. Some of the practices for XP like Pair Programming, Test Driven Development will be discussed. The Talk will also cover the QA role in agile world. The talk will cover the implementation issues while shifting from traditional to agile process. Talk will also include an interactive game for illustration of concepts.
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.
This is my complete introductory course for Software Test Automation.If you need full training that includes different automation tools (Selenium, J-Meter, Burp, SOAP UI etc), feel free to contact me by email (amraldo@hotmail.com) or by mobile (+201223600207).
Manual testing takes more effort and cost than automated testing. It is more boring and provides limited visibility for stakeholders. Automated tests can test single units, are reusable, and provide a safety net for refactoring. They also ensure all tests are run, drive clean design, and do not create code clutter like manual tests. An initial learning curve and questions around organization and reuse may prevent developers from writing automated tests, but designating responsibility and learning tools can help overcome these issues.
Automation testing introduction for FujiNetHai Tran Son
This document discusses automation testing and provides an overview of manual vs automation testing. It covers why automation testing is important, including allowing repetitive tests to run across multiple builds and reducing human error. Common automation tools like QTP and Selenium are mentioned. The history of automation from record and playback to modern keyword-driven approaches is summarized. Examples of building automation frameworks for QTP and Selenium are provided. In conclusion, the document promotes automation testing as important for the future.
The document discusses test automation process and framework. It provides details on what test automation means, benefits of automation, guidelines for identifying test cases to automate, challenges in automation, and components of an automation framework like data tables, libraries, object repositories, scripts, and results.
In this session, we would discuss what "Agile Testing" is, what are the well known methods and models of Agile Testing and what to expect on the future of Agile Testing.
Today we need everything reliable and accelerated, so to attain prompt results we are using varied automation testing tools. An automation tool is a piece of software that is run by little human interaction. Different testing tools are used for automation/manual testing, unit testing, performance, web, mobile, etc., more to that we have some open source testing tools as well.
Katalon Studio is a free and robust automation solution for API, Web, and Mobile testing. It integrates all necessary components with built-in keywords and project templates into a complete automation framework. Katalon Studio is easy to use for beginners but still offers advanced capabilities for experienced users. This solution is trusted by an active community of over 150K users from 150+ countries around the world.
In this knolx, we’ll take a look at what is API Testing and how the katalon studio is helpful in API Testing.
This document provides an overview of test automation using Cucumber and Calabash. It discusses using Cucumber to write automated test specifications in plain language and Calabash to execute those tests on Android apps. It outlines the environments, tools, and basic steps needed to get started, including installing Ruby and DevKit, creating Cucumber feature files, and using Calabash APIs to automate user interactions like tapping, entering text, and scrolling. The document also explains how to run tests on an Android app and generate an HTML report of the results.
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
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.
Agile Testing: The Role Of The Agile TesterDeclan Whelan
This presentation provides an overview of the role of testers on agile teams.
In essence, the differences between testers and developers should blur so that focus is the whole team completing stories and delivering value.
Testers can add more value on agile teams by contributing earlier and moving from defect detection to defect prevention.
This document discusses automation testing. It begins by defining automation testing and listing its benefits, which include saving time and money, improving accuracy, and increasing test coverage. It then covers levels of automation testing, frameworks, approaches like record and playback, modular scripting, and keyword-driven testing. The document also discusses the automation testing lifecycle, how to choose a testing tool, types of tools, when to automate and who should automate, supporting practices, and skills needed for automation testing.
Volodymyr Prymakov and Vlada Benyukh Detailed manual estimation approach for ...Ievgenii Katsan
This document provides guidance on conducting manual test estimation for the pre-sale phase of a project. It discusses factors to consider like requirements, environments, and complexity. Main activities to estimate include requirements review, test design, execution, and bug handling. Regression is calculated based on sprint count, tested functionality percentage, and environments. Risks like changing requirements and infrastructure issues are accounted for with multipliers. A demo is provided of estimating a real project involving calculations, environments, and risks. Statistics on past projects estimated duration and team size are also included.
Ivan Pashko - Simplifying test automation with design patternsIevgenii Katsan
The document discusses simplifying test automation through the use of design patterns. It begins by defining code smells that make tests complex, such as duplication, conditional logic, obscure tests, and fragile tests. It then explains several design patterns that can address these smells, including template method for removing duplication, strategy for replacing conditional logic, factory/builder for constructing complex objects, composite for grouping objects, and decorator for adding responsibilities dynamically. The document advocates for clean, well-structured test code through applying these patterns.
Patterns of a “good” test automation frameworkAnand Bagmar
This document discusses patterns for test automation frameworks. It begins by introducing common patterns like page objects, business layer, and factories. It then provides examples of page object and business layer page object patterns. The document also discusses test data patterns and different ways to specify test data and locators. Finally, it outlines advantages of using patterns like reduced complexity, reusability, and maintenance. The key message is that the best pattern depends on the specific test automation context.
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
Once your organization has successfully implemented Agile methodologies, there are two major areas that will require improvements: Continuous Integration and Automated Testing.
This presentation illustrates why it's important to invest in an Automated Testing Framework (ATF) to reduce technical debt, increase quality and accelerate time to market.
Learn more at www.agiletestingframework.com.
This document provides guidance on becoming an expert in test automation. It recommends learning multiple automation tools to test different applications and platforms, including Selenium for web, Appium for mobile, REST Assured for APIs, and tools like Robot Framework and Winium for desktop. The document also stresses the importance of creating reusable, scalable automation frameworks that integrate with other tools and are not dependent on a single language or platform. It suggests attending meetups and talks to learn from other experts and stay up to date on new techniques and tools in the evolving field of test automation.
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.
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.
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
M. Holovaty, Концепции автоматизированного тестированияAlex
The document discusses concepts related to automated testing, including:
1) Automated testing scripts are developed and updated in sync with the cyclic development process of the application under test.
2) Automated testing is effective when the time to create, update, and analyze scripts across iterations is less than the time for manual testing.
3) Effective logging, test result modeling, and failure analysis are important for reducing the time spent understanding failures in automated tests.
This document discusses best practices for developing an automated testing framework. It recommends using a hybrid keyword-driven and data-driven approach to reduce scripting efforts. Some key points covered include the benefits of automation like reduced costs and increased speed/accuracy over manual testing. It also discusses factors to consider when selecting an automation tool, common challenges, and provides an example case study showing the ROI achieved through automation. Best practices emphasized include loose coupling of framework components, reuse of generic libraries, and treating framework development as a distinct project.
This is chapter 6 of ISTQB Advance Technical Test Analyst certification. This presentation helps aspirants understand and prepare the content of the certification.
The document discusses key aspects of successful test automation including:
1. Applying a software development process to automation to improve reliability and maintainability.
2. Improving testing processes with robust manual testing and defect management before automating.
3. Clearly defining requirements for what to automate and goals of the automation effort.
This document discusses factors that can lead to automation failures and provides guidance on how to avoid them. It identifies issues like poor test case selection, script failures, lack of maintenance, and poor planning/estimation. It also provides tips for proper analysis when selecting test automation candidates and determining what to automate first. The document advises choosing the right automation tool and framework based on factors like project size. It categorizes common script failure areas and stresses the importance of maintenance and streamlined processes. Finally, it emphasizes estimating efforts based on test complexity, framework needs, and maintenance/execution times.
This document discusses acceptance test driven development (ATDD). It describes how ATDD involves first writing acceptance tests based on requirements before writing unit tests or code. This ensures requirements are clearly understood and tests provide feedback during development. ATDD tools like Concordion and FitNesse are mentioned for automating acceptance tests in a readable format. Benefits of ATDD include improved requirements understanding, early detection of failures, and reduced defects through continuous feedback.
Automation simplifies and speeds up the testing process for large projects. Test automation is crucial to achieve test coverage and speed for large projects. A combination of manual testing and test automation can provide adequate test coverage. Automation testing powered by crowd sourcing provides a cost-effective solution that helps access skilled testing experts and combat challenges in achieving full test coverage. Some benefits of crowd-sourced automation include expert support in creating scripts, script maintenance, ability to test on different devices, and savings in time and money.
Chapter 6 - Transitioning Manual Testing to an Automation EnvironmentNeeraj Kumar Singh
The document discusses factors to consider when transitioning from manual to automated testing. It states that traditionally organizations have developed manual test cases, and when deciding to automate, one must evaluate current manual tests and determine the most effective approach to automating these assets. Not all tests can or should be automated. There are criteria provided for determining what types of tests are good candidates for automation, such as frequency of use and complexity. Steps for automating regression tests are also outlined.
Improving ROI with Scriptless Test AutomationMindfire LLC
This is where scriptless test automation comes into the picture. Businesses today may utilize Scriptless Test Automation to automate test cases without having to worry about the complexities of coding. It speeds up the time to learn and build code, resulting in a shorter time to market, a greater return on investment, and increased coverage with little maintenance.
Introduction to automated testing life cycle methodologyBugRaptors
Bugraptors ensures that the Automated Testing Life-Cycle Methodology represents a structured approach, which is executed in planned and a systematic manner. The Automated Testing Life-cycle Methodology (ATLM) is comprised of six primary processes or stages.
This prez talks about the automation benefits, usage of QTP and it's different kind of frameworks.
Also talks about the skills set required for QTP implementations.
The Automation Firehose: Be Strategic and Tactical by Thomas HaverQA or the Highway
The document discusses strategies for automating software testing. It emphasizes taking a risk-based approach to determine what to automate based on factors like frequency of use, complexity, and legal risk. The document provides recommendations for test automation best practices like treating automated test code like development code, using frameworks and tools to standardize coding practices, and prioritizing unit and integration testing over UI testing. It also discusses challenges that can arise with test automation like flaky tests, long test execution times, and keeping automation in sync with changing software. Metrics for measuring the effectiveness of test automation are presented, like test coverage, defect findings and trends, and time savings.
5 Things You Need To Build A Rock-Solid UAT Test PlanSerena Gray
In this article, you will get to know the five things that are required to build a rock-solid UAT test plan. Read more https://bethwilsonuk.wixsite.com/my-site/post/5-things-you-need-to-build-a-rock-solid-uat-test-plan
Similar to Test Automation Strategies For Agile (20)
Problem Solving Techniques For Evolutionary DesignNaresh Jain
In this workshop, Naresh Jain explains what are the core techniques one should master to effectively practice evolutionary design while solving real-world problems. To summarize:
1. Eliminate Noise - Distill down the crux of the problem
2. Divide and Conquer to prioritize and focus on the most important part
3. Add constraints to future simplify the problem
4. Come up with a simple design to incrementally build your solution
5. Refactor: Pause, look for a much simpler alternative
6. Be ready to throw away your solution & start again
Agile India 2019 Conference Welcome NoteNaresh Jain
We are super excited to announce the 15th edition of Agile India 2019, Asia's Largest and Premier International conference on Leading Edge Software Development Methods. Agile India is hosted by Agile Alliance and organized by Agile Software Community of India, a non-profit registered society founded in 2004 with a vision to evangelize new, better ways of building products & services that delight the users.
Over the last 15 years, we've organized 57 conferences across 13 cities in India. We've hosted 1,000+ speakers from 38 countries, who have delivered 1,200+ sessions to 10,000+ attendees. We continue to be a non-profit, volunteer-run community conference.
Agenda
* Agile Coach Camp - March 17th
* Pre-Conference Workshops – March 18th
* Conference Days
** Agile Mindset Day - March 19th
** Business Agility Day - March 20th
** Design Innovation Day - March 21st
** Continuous Delivery and DevOps Day - March 22nd
* Post-Conference Workshops – March 23rd and 24th
More details: https://2019.agileindia.org
A resilient organizational can not only adapt and respond to incremental change but more importantly, can respond to sudden disruptions and also, be the source of disruption in order to prosper and flourish.
The traditional risk management approach focuses too much on defensive (stopping bad things happen) thinking versus a more progressive (making good things happen) thinking. Being defensive requires consistency across the organization and this is where methodologies like Plan-Do-Check-Act (PDCA) come in. However, PDCA approach does not bake in the required progressive thinking and flexibility required for a fast company organization which operates in a volatile environment.
Professor David Denyer of Cranfield University has recently published a very interesting research report on Organizational Resilience. He has identified the following four quadrants across to help us think about organizational resilience:
* preventative control (defensive consistency)
* mindful action (defensive flexibility)
* performance optimization (progressive consistency)
* adaptive innovation (progressive flexibility)
In this talk, I'll share my personal experience of using this thinking to help an organization to scale their product to Millions of users. I've dive deep into how we structured our organization for Structural Agility and how we set-up a very lightweight governance model using OKRs to drive the necessary flexible and progressive thinking.
More details: https://confengine.com/agile-india-2019/proposal/8216/organisational-resilience-design-your-organisation-to-flourish-not-merely-survive
Conference Link: https://2019.agileindia.org
Looking to move to Continuous Delivery? Worried about the quality of your the code? Helping your developers understand clean-code practices and getting the right testing strategy in place can take a while. What should you do to control the quality of the incoming code till then? This talk shares our experience of using PRRiskAdvisor to gradually educate and influence developers to write better code and also help the code reviewer to be more effective at their reviews.
Every time a developer raises a pull-request, PRRiskAdvisor analyzes the files that were changed and publishes a report on the pull request itself with the overall risk associated with this pull request and also risk associated with each file. It also runs static code analysis using SonarQube and publishes the configured violations as comments on the pull request. This way the reviewer just has to look at the pull request to get a decent idea of what it means to review this pull request. If there are too many violations, then PRRiskAdvisor can also automatically reject the pull request.
By doing this, we saw our developers starting paying more attention to clean code practices and hence the overall quality of the incoming code improved, while we worked on putting the right engineering practices and testing strategy in place.
More details: https://confengine.com/last-conference-canberra-2018/proposal/7294/improving-the-quality-of-incoming-code
Conference Link: https://2019.agileindia.org
Here is a quick summary of Agile India 2018 Conference, Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
We are very excited to announce the 14th edition of Agile India Conference (https://2018.agileindia.org/) with brand new themes and a fabulous lineup of speakers. Agile India is Asia's Largest & Premier International conference on Leading Edge Software Development Methods.
Meet:
* Alan Cooper - The Father of Visual Basic, Creator of Goal-directed Design methodology and inventor of the Persona concept
* Steve Denning - Author of several books on Management, Leadership, Innovation and Organizational Storytelling
* Linda Rising - Author of four books, most recently the Fearless Change
* Gregor Hohpe - Author of Enterprise Integration Patterns. Technical Director at Google Cloud Computing
* James Stewart - Co-founder of the Government Digital Service and x-Deputy CTO of the UK Government
* Bjarte Bogsnes - Author of Implementing Beyond Budgeting, Chairman of Beyond Budgeting Roundtable and Senior Advisor Performance Framework at Statoil
* Dr. Denis Bauer - Team Leader and Research Scientist in Cloud Computing in Transformational Bioinformatics at CSIRO
* Jeff Patton - Author of User Story Mapping and the person responsible for bringing user-centered design thinking to Agile world
* Peter Jacobs - Chief Information Officer and board member of ING Bank Netherlands
* Nils Kappeyne - VP & CIO for Integrated Gas & New Energies at Shell
* And 70 more thought leaders from 16 countries - https://2018.agileindia.org/speakers/
The program spreads across 8 days (March 4-11th 2018, Bengaluru) with two pre-conference plus two post-conference workshop days and four days of conferences in between:
* March 4-5th: Pre-Conference Workshops from our international experts
* March 6th: Business Agility Day - Hosted by Agile Alliance
* March 7th: Design Innovation Day - Hosted by Cooper
* March 8th: Digital Transformation Day
* March 9th: DevOps and Continuous Delivery Day - Hosted by Red Hat
* March 10-11th: Post-Conference Workshops from our international experts
Schedule
========
Check out conference schedule for the lineup of workshops and speakers. https://confengine.com/agile-india-2018/schedule
Tickets
=======
Conference registration is now open and Smart Price offers are going away soon. Register now for best deals!! https://confengine.com/agile-india-2018/register
Check out the exciting offers for bulk registrations - https://2018.agileindia.org/agile-india-2018-bulk-booking-offers/.
Sponsors
========
We thank Agile Alliance, Cooper, RedHat, Scrum.org, Shell, AddTeq/Atlassian, Scaled Agile, ICAgile and Scrum Alliance for sponsoring the conference. If your organization wants to support this non-profit, volunteer-run conference, please check out sponsorship options https://confengine.com/agile-india-2018/sponsor#guide
Agile India 2018 Conference is Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
Agile India 2018 Conference is Asia's Largest and Premier Conference on Business Agility, Design Innovation, Digital Transformation, Continuous Delivery, DevOps, Agile, Scrum, eXtreme Programming, Lean, Kanban, Enterprise Agile, Lean Startup, Research, and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 4 - 11 March 2018 at Taj West End, Bangalore. More details: https://2018.agileindia.org
Pilgrim's Progress to the Promised Land by Robert VirdingNaresh Jain
When migrating to Elixir/OTP from other languages and systems a number of issues will always crop up. The trick is to make sure that these issues don't become problems. This talk will look at some of the more common ones and what to do about them to make sure they don't become problems.
More details: https://confengine.com/functional-conf-2017/proposal/5138/pilgrims-progress-to-the-promised-land
Conference: https://functionalconf.com
Concurrent languages are Functional by Francesco CesariniNaresh Jain
The document discusses concurrency in functional programming languages. It explains that there are two approaches to concurrency: mutable state and immutable state. Immutable state avoids issues with corrupt state that can occur with mutable state. Functional languages with immutable state and message passing, like Erlang, allow for easy distribution across computing resources from embedded devices to high-performance supercomputers. The document emphasizes how immutability, concurrency, and distribution enable scalability, reliability, and parallelism.
Erlang from behing the trenches by Francesco CesariniNaresh Jain
Erlang is a programming language designed for the Internet Age, although it pre-dates the Web. It is a language designed for multi-core computers, although it pre-dates them too. It is a “beacon language”, to quote Haskell guru Simon Peyton-Jones, in that it more clearly than any other language demonstrates the benefits of concurrency-oriented programming. In this talk, I will introduce Erlang from behind the trenches. By introducing the major language constructs, describe their benefits and discuss the problems Erlang is ideal to solve. I will be doing so from a personal prospective, with anecdotes from my time as an intern at the Ericsson computer science lab at a time when the language was being heavily influenced and later when working on the OTP R1 release.
More details: https://confengine.com/functional-conf-2017/proposal/4787/an-introduction-to-erlang-from-behind-the-trenches
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
This document discusses search architecture and optimization for e-commerce platforms. It describes how search is a critical feature that powers recommendations and sales. Key challenges include large catalogs that change frequently, diverse user needs like geo-specific ranking, and balancing multiple objectives. The document outlines the technical infrastructure supporting search, including serving architecture, indexing workflows, and approaches to improve quality like query understanding and personalization.
Setting up Continuous Delivery Culture for a Large Scale Mobile AppNaresh Jain
Hike is a mobile-first, messaging platform that is used by 100 million users to exchange 40 billion messages/month. Hike app is available on Android, iOS and Windows phone. On the back-end, we’ve 100+ macro-services in Java, Python, Ruby, Go and Elixir. While setting up a Continuous Delivery pipeline, we ran into a series of technical challenges. However it was more important to address the organisational/behavioural challenges to ensure a sustainable culture shift in the company.
In this talk, I cover how we went about:
* Setup a trunk-based development model
* Decentralised our build & test environments using Docker and Jenkins
* Segregated and containerised our macro-services
* Refactored the mobile apps to be more container friendly
* Setup a mobile device farm using STF
* Improved the quality of code-reviews using PRBuilder & PRRiskAdvisor
* Created different kinds of automated tests to align with our CI Pipeline and get rapid feedback
* Finally how we used C3 to visualise the health of our code-base
Towards FutureOps: Stable, Repeatable environments from Dev to ProdNaresh Jain
Modern human history is a story of humans inventing new tools to do more with less. "Doing more" has allowed most of us to no longer worry about producing our own food, collecting water, planning long journeys, etc. Instead, we’re able to specialize, buy what we need for less, and to some extent explore ourselves a lot more.
We're far from done, and of course humanity is far from perfect. In this talk, Mitchell Hashimoto discusses the role that automations and computers play in building a brighter future.
More details: https://confengine.com/agile-india-2017/proposal/3618/towards-futureops-stable-repeatable-environments-from-dev-to-prod
Value Driven Development by Dave Thomas Naresh Jain
Agile, OOP... are like good hygiene in the kitchen, it results in meals with consistent quality and predictable prep and service times. It doesn't result in great meals nor substantially impact the ROI! Lean Thinking clearly shows that the only way to make a significant impact is to improve the value chain by improving flow. If everyone is following best practices no one has competitive advantage. Major improvements in the value chain depend on continued disruptive innovations. Innovations leverage people and their ideas. We use case studies to illustrate the different business and technical innovations and their impact. We conclude with a discussion of how to build and leverage an innovation culture versus a sprint death march when dealing with high value time to market projects.
More details: https://confengine.com/agile-india-2017/proposal/3608/value-driven-development-maximum-impact-maximum-speed
No Silver Bullets in Functional Programming by Brian McKennaNaresh Jain
We are constantly presented with trade-offs when writing software. What are the trade-offs when applying functional programming? What costs arise? When is it not worth doing? When should pragmatism kick in and when should we start using side-effects?
This talk will give you some tools to be able to answer the above questions for both functional programming and types. The tools have been refined over many professional years of both doing and not doing purely functional programming.
More details: https://confengine.com/functional-conf-2016/proposal/3137/no-silver-bullets-in-functional-programming
The document outlines the agenda for a Functional Conference taking place from October 13th to 16th. It includes pre-conference and post-conference workshops on the 13th and 16th, and the main two-day conference on the 14th and 15th. Details provided include the number of attendees from 10 countries, 23 speakers also from 10 countries, and sessions on mobile apps, birds of a feather discussions, and sponsors.
Agile India 2017 Conference is Asia's Largest and Premier Conference on Agile, Scrum, eXtreme Programming, Lean, Kanban, DevOps, Enterprise Agile, Lean Startup, Continuous Delivery, Research and Patterns. Get to meet pioneers and expert practitioners from around the world on Agile Mindset, Scaling Agility, Lean Product Discovery, Continuous Delivery and DevOps. 6 - 12 March 2017 at ITC Gardenia, Bangalore. More details: http://2017.agileindia.org
This talk will explain the secret of the success of the Eclipse Platform team. The Eclipse Way is an agile software development process that we started right at the beginning when we started to develop Eclipse back in 1999. It was and is used by the Eclipse Platform team and got continuously improved over time. During the session you will hear about all our practices, like milestones, early and iterative planning, continuous integration and the endgame. I will also reveal some of the history behind the Eclipse top-level project.
More details: https://confengine.com/eclipse-summit-2016/proposal/2386/the-eclipse-way
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
Refactoring is a series of small steps, each of which changes the program’s internal structure without changing its external behaviour. Refactoring, as a tool, to automate behaviour-preserving transformations to source code are not only very popular in agile development environments, but have been widely established as a cornerstone of the daily software development process, regardless of the methodology being used. Most major development environments such as Eclipse offer a set of powerful refactoring to substantially increase development productivity.
In this live demo, I’ll show
* the real value of refactoring,
* how we practice it safely,
* when and why we refactor,
* the power of refactoring tools and
* when we avoid refactoring.
I’ll be using two real-world examples of refactoring and sharing what I’ve learned about this important practice of the last 15 years.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Comparison Table of DiskWarrior Alternatives.pdfAndrey Yasko
To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.
Best Practices for Effectively Running dbt in Airflow.pdfTatiana Al-Chueyr
As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models.
This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through:
- Standard ways of running dbt (and when to utilize other methods)
- How Cosmos can be used to run and visualize your dbt projects in Airflow
- Common challenges and how to address them, including performance, dependency conflicts, and more
- How running dbt projects in Airflow helps with cost optimization
Webinar given on 9 July 2024
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Kief Morris rethinks the infrastructure code delivery lifecycle, advocating for a shift towards composable infrastructure systems. We should shift to designing around deployable components rather than code modules, use more useful levels of abstraction, and drive design and deployment from applications rather than bottom-up, monolithic architecture and delivery.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
2. Test Automation Strategies - Important Automation Strategies- Part 1 Introduction to Open Source Automation tool- Sahi Sahi tool Walkthrough- How to use it. Important Automation Strategies- Part 2
4. Ten Questions: Six Choices and Four Trends Six Choices To automate or not to automate at all? The do or don’t choice To automate now or automate later? The time choice To automate through this or that? The tool choice To automate this or that? The test case choice Vertical Automation or Horizontal Automation? The flow choice Test data hard coded or Test data kept reusable? The data design choice Four Trends Keyword or functional decomposition? The combined trend Whether to automate and execute early? The agile trend Whether to run in a sequence or concurrently? The concurrent user trend 4. Whether to offer scripts to clients? The selling trend
5. Q #1 To automate or not to automate? The do or don’t choice The do or don’t choice Knowing the key drivers behind test automation is important Different objectives would require different test automation strategies Clear understanding of “Why to automate” helps in reducing the expectation gap between management and test automation team
6. Q #1 : To automate or not to automate Common objectives of test automation Saves Time 2 hour regression suite Time to market increases Increases accuracy Reduced person dependency Reduces Cost Better ROI Improves coverage Localization Reusability
7. Q #2 : To automate now or automate later? The time choice The time choice Key to successful test automation is knowing when to automate. Often overlooked and sometimes undervalued. Even the best of automation approaches could fail to give ROI if the timing of automation is wrong. This question is critical since test automation is Pointless if it is at the fag end of a product lifecycle Painful if the product is unstable Possible even if the product is not ready (future trend)
8. Q #2 : To automate now or later? F actors to be considered before starting automation Quality of manual testing process Detailed test conditions and pre conditions Accurate test data and expected results Stability of module/application Core functionality and navigation flow is approved and accepted by end client No bug fix should impact major functionality No planned major enhancements in the functionality for minimum next 3 regression rounds
9. Q #3 : To automate through this or that? The tool choice The tool choice Functionality Usability Maintainability Flexibility Affordability Compatibility
10. Q #3 : To automate through this or that F actors to be considered for choosing a tool Compatibility Is the tool compatible with the application? Does it identify all the objects in your application? Identify different classes of object in the application. (Standard controls & customized) Identify different possible events for each object (mouse over, mouse down, type, drag, etc) Record and Playback for above Functionality Rate the application against the features list required for automation team (Evaluation Criterion)
11. Q #3 : To automate through this or that F actors to be considered for choosing a tool Usability How easy it is to learn and adapt? Availability of trainings. Maintainability (Support) How good is support by the company. Online user community? Flexibility Licensing policy of the company (This points is here thanks to the rigid licensing policies of some companies Affordability € O $ £ : After all.
12. Q #4 : To automate this or that The test case choice The test case choice After knowing when to automate, its critical to know what to automate and what not to automate. Remember: Its not feasible to automate all the test cases. Decide a test selection criterion for automation to improve automation effectiveness.
13. Q #4 : To Automate this or that Test case selection criterion Is the test case repeatable? Does this test case require manual intervention? Has the test case passed manual verification? Are all the preconditions for the test case taken care-of? Are the execution steps very clear? Do we have test data for this test case? Is the expected result clear enough to decide the test case status (PASS & FAIL)? Will the test case survive the functional changes around it? Is the test case straightforward for automation? Can I trust this script to really test this part of the feature?
14. Q #5 : Vertical or Horizontal Automation? The flow choice The flow choice Automating End to End Flow where each test cases is independent of each other such as Horizontal Automation Vertical Automation Vertical automation is executing test cases feature wise to save execution time. e.g. Create payment2 Create payment1 Reject payment2 Approve payment1 TC1&2: Login(user1) Logout->Login(user2) Create payment1 Approve payment1 Logout->Login(user2) TC1: Login(user1) Create payment2 Reject payment1 Logout->Login(user2) TC2: Login(user1)
15. Q #5 : Vertical or Horizontal Test Automation Advantages of each Advantages of Horizontal Automation Flexibility in running any test case any where as each test case is independent of other. Easy to organize and automate. Less administration is required Test Execution progress can be ascertained at any point since every completed test case gets immediately logged Advantages of Vertical Automation Faster test execution as navigation is minimized, (such as login -logout) Effective when same functional flow is tested with different data sets
16. Q #5 : Vertical or Horizontal Test Automation How to automate whether vertically or otherwise Prioritize functionality Test cases.( Functionality with maximum depth usually gives higher ROI.) Based on Test cases, identify different business processes ( PIPE ) - Identify Pass and Fail criteria - Identify Input criteria (Test Data) - Identify Exceptions / user flows. - Identify Precondition 3. Identify the GUI objects. 4. Identify the global and local parameters. 5. Automate the Business Processes into User Defined Functions (UDFs) 6. Compile UDFs to create test case using Driver script. 7. Test the script.
17. Q #6 : Test data hard coded or kept reusable The data design choice The data design choice A good automation architect ensures that scripts are reusable. A great automation architect ensures that scripts and test data, both, are reusable.
18. Q #6 : Test data hard coded or kept reusable Reusing test data Generally , there is more emphasis on reusing test script than reusing test data. Generally one test set is used per test case. For e.g. approve payment test case and reject payment test case may use same user (i.e. user1) but the test data sheet is stored within the test case and gets repeated again and again for each test case. On the other hand to keep the test data reusable: Store data screen wise and not test case wise Assign reference id to each test data. Pass reference id to each test case for accessing the test data.
19. Q#7 : Whether to automate early The early trend Agile Test Automation Principles by James Bach Consider thinking of test automation as …Any use of tools to support testing (James Bach) Test automation means tool support for all aspects of a test project, not just test execution. Test automation progresses when supported by dedicated programmers (toolsmiths). Toolsmiths are directed by testers. Test toolsmiths gather and apply a wide variety of tools to support testing. Test toolsmiths advocate for testability features and produce tools that exploit those features. Test automation is organized to fulfill short term goals. Long term test automation tasks are avoided in the absence of specific approval based on a compelling business case.
20. Q#7 : Whether to automate early The early trend The early trend Ideally automation should start once the application is stable but with good technical QA engineers one can start much before the application is even ready for manual testing. This can be achieved by Using abstract automation approach for building the automation flow and important components. Manually scripting application objects and user actions. There is high dependence on good requirements and screen layout. Traditional automation is mainly used by QA engineers for regression testing, but latest trends show that the automation suite can yield more returns when developers can use it for their unit testing.
21. Q#8: Keyword driven or functional decomposition The combined trend Keyword driven In the Keyword driven approach, 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. Scripts are not modular and major advantages of functional decomposition are lost. Functional decomposition In the functional decomposition approach, business processes are created first and while creating the test scenarios and test scripts, each business process is called in a sequence. This approach is modular but for every test scenario, a test script is required. In this approach scripts are maintainable to the extent that implementation of the business process is not changed.
22. Q#8: Keyword driven or functional decomposition The combined trend Keyword driven Keyword calling EnterText- username , mukesh EnterText- password, hello Click OK ClickLink create payment EnterText account_name, 1209892 EnterText amount 122$ EnterText date 04-Aug-2007 . . . so on Functional decomposition Library Login() { Enter username Enter password Click ok } ------------------------------------------ Test Script for approval login () create_payment () logout () login () approve_payment()
23. Q#8: Keyword driven or functional decomposition The combined trend The combined trend Moving beyond FD and KD, the trend shall be to combine both Keywords as a set of business processes, which are packaged as user defined functions. These keywords/user defined functions can be called in a sequence in excel or a database to test the business rules. This gives users the modularity of functional decomposition and the usability of keyword driven ZenTEST Labs’ ZenFRAME is one such framework that combines both
24.
25. Q #8 : Keyword driven or functional decomposition The basic theme to build an extensible framework “ Keep everything, that changes or has chances of changing, separate from the script.” Object properties change. So keep that separate. This is a default feature in most of the tools. Test data changes. So keep test data separate from the script Sequence/ flow of application changes. So separate that into an excel sheet or a database (Most automation engineers follow the first 2 points as more or less they are default feature in the automation tools, now lets take advantage of the third approach)
26. Q #9: Whether to run in a sequence or concurrently? The concurrent users trend for functional automation What if, you have a time frame and you have to finish test execution within that time frame. Possible Option 1: Reduce the number of testing cases by sampling and execute only the selective ones Possible Option 2: Execute 100 test cases on one machine, another 100 on second machine and so on. How about this idea of automating functional test cases using load testing tool ? This will help in executing multiple test cases at the same time. You can even execute thousand different test cases on an high end server and finish complete test suite execution in just few hours. Same set of functional test cases can be further used when doing actual performance testing.
27. Q #10 : Whether to offer scripts to your end client The selling trend The selling trend Recent Trends indicate that soon test scripts will also be shipped along with the application. Every patch release will have the modified test scripts with it. Clients have started demanding automation scripts for doing their UAT and testing application during bug fixes. It has also become a new source of income for product companies, wherein additional cost can be billed for automation scripts which are anyways available with QA team. This also brings in additional budget for future automation effort and automation gets buy-in from senior management.
28. Ten Questions: Six Choices and Four Trends Six Choices To automate or not to automate at all? The do or don’t choice To automate now or automate later? The time choice To automate through this or that? The tool choice To automate this or that? The test case choice Vertical Automation or Horizontal Automation? The flow choice Test data hard coded or Test data kept reusable? The data design choice Four Trends Keyword or functional decomposition? The combined trend Whether to automate and execute early? The agile trend Whether to run in a sequence or concurrently? The concurrent user trend 4. Whether to offer scripts to clients? The selling trend
29. Sahi – Web automation tool -Open source web automation tool -Created by Narayan Venkatraman -Useful for automating functional testing and configuration testing. -Official sahi website www.sahi.co.in -Commercial support available.
30. Sahi – Benefits - Install once and use anywhere: Once Sahi server is running, tester can access Sahi Controller (aka IDE) from any supported browsers. - The browser accessible controller is an all in one utility including a script recorder, object inspector, log browser, debugger, utility to test code without recording etc. - Easy to learn, simple, powerful APIs. - Javascript as the scripting language - Built-in color coded HTML logs , accessible over browser - Extensible Javascript APIs (Does not need a rebuild) - Extensible on the server with Java - Parallel execution of tests (Does not require additional tools).
31. Sahi – Architecture -Sahi server – runs as a proxy -Recording and Playback both is managed by sahi server. -Uses Rhino -DB connectivity managed by the proxy server
32. Sahi – Demo -Configure the proxy. -Open IDE (Alt + Ctrl+ Double click) -Record -Playback -Functional decomposition (Fill-Click) -Test data management strategy. -Business process using keywords
33. Uses in Agile -Good integration with build tools via ant tasks and command line -Can be used for continuous integration. -Can create highly reusable scripts -Easy to modify scripts.
34. About ZenTEST Labs… Purpose Focus Sample List of clients Offshore Testing Centre Located at Pune, India 55 People Company Domain Expertise Finance and banking eLearning and education Document and Project Mgmt Technology Expertise Certified Mercury Product consultants Proprietary Test Automation Framework, viz. ZenFRAME Specialized testing services Highlights An independent testing company focusing on functionality testing and quality consulting. World’s number 1 automation provider World’s largest eLearning solutions provider Europe’s largest bank World’s number 2 computer manufacturer One of the world’s leading cash management solutions provider One of the world’s leading customer interaction software for payments Europe’s leading Infrastructure Management software provider. One of Middle East’s largest banking software providers To enable client experience ‘Zen’ through our Testing and Quality services
35. About ZenTEST Labs. Testing Consulting Testing Projects Testing Training Outsourced Testing Functionality Testing Unit Testing Test Automation Projects Functional Automation Performance Testing Test Maintenance Projects Maintain Regression Suites Specialized Testing eLearning specific testing Security Testing Compliance Testing Localization Testing Usability Testing Agile Testing Mercury WinRunner/ QTP Mercury Load Runner Mercury Quality Center Rational Testing Tools Test Project Management Test Estimation Advanced Test Automation How to write test cases The mind of a software tester Test Process Assessment Automation Consulting Testing Project Management
36. Further Help As a practice from our past STAR conferences talk, we shall be pleased to conduct this presentation at no cost over the phone for your team. Please email at [email_address] if you are interested in the same. To view other ZenTEST whitepapers and presentations, please visit www.zentestlabs.com download page.
37. Bibliography When should a test be automated? Article by Brian Marick, 1998. When to automate testing David Weiss blog Agile Test Automation White paper by James Bach
38. website: www.zentestlabs.com email: [email_address] blog: http://www.zentest.typepad.com Thank You Sunil D Mukesh M