Skip to content

Latest commit

 

History

History
137 lines (102 loc) · 8.32 KB

File metadata and controls

137 lines (102 loc) · 8.32 KB

20 Fundamentals for a Successful Test Automation Infrastructure BY YONI FLENNER

  1. Identify Page Elements (text fields, buttons, link etc.) and configure them in a certain class, in which you can implement functions that will perform several operations. For example: inserting text and clicking on a button by identifying the element beforehand – which is called Page Object.
  2. Write a mechanism that will be activated when a test fails.
  3. Write another mechanism to return the page to a certain point (for example: the main page) in order to create independent tests.
  4. Develop a report module and implement a report module for the executed automated tests.
  5. Add to the reports screenshots and recordings when tests fail.
  6. Implement the project in a way that will allow reading all parameters from external configuration files (for example: the location to save the reports).
  7. Incorporate Visual Testing for image comparison to test if the site looks as it is supposed to (for example: if a field moved by 6 pixels to the right, the test will fail).
  8. Create Cross-browser compatibility.
  9. Write log files to save information for the developers which will also include stack trace and other details from the exceptions, which will show up in case of a failed test.
  10. Object Repository – implement also a central place in which you’ll identify all of the elements’ properties in the application.
  11. Connect the system’s database to execute queries and draw information (Despite not having access to the application’s database, we can easily create a simulation for a portfolio).
  12. Implement the Data Driven Testing (DDT) method to read from CSV/ Excel files.
  13. Implement the Keyword Driven Testing (KDT) or BDD methods with Gherkin language.
  14. Create support for parallel testing on different environments.
  15. Connection to external libraries (for example: interface cloud services API such as YouTube)
  16. Create support for scheduling execution and interface CI systems (it’s possible to install Jenkins on the computer and working with it).
  17. Compatibility with Mobile device platforms.
  18. Expand to a compatibility with Desktop Apps.
  19. The test automation infrastructure should be written according to known Design Patterns, Clean Code methods, coding conventions that must be configured at the design level.
  20. Finally, documentation of the entire procedure from A to Z. The list clearly shows how Selenium is a very small component of the automation testing project.

1

Web App QA Automation with Selenium

  1. Programming language - Java - Java for Testers
  2. Selenium
  3. TestNG
  4. Gradle
  5. Jenkins

REST API Automation with Rest-Assured

  1. Programming language - Java - Java for Testers
  2. Concepts: HTTP, REST API
  3. TestNG
  4. Rest Assured Framework - Github - A Guide to REST-assured
  5. Gradle
  6. Jenkins

Test Automation Best Practices Read Detail

  • Create An Automation Plan
  • Identify Test Cases That Can Be Automated
  • Develop Test Cases
  • Test Early And Frequently
  • Choose Appropriate Automated Testing Software And Tool
  • Segregate Your Automated Testing Skills And Efforts
  • Create Test Data
  • Create Test Cases That Are Reusable And Easy To Maintain

Android Test Automation Framework

https://essenceoftesting.blogspot.sg/2017/02/features-of-my-android-test-automation.html https://essenceoftesting.blogspot.sg/2017/02/sharing-implementation-of-cucumber-jvm.html https://essenceoftesting.blogspot.sg/2017/02/features-of-my-android-test-automation.html

Automated Test has the following benefits.

  • You can conduct more testing in a faster way.

  • You can run existing test scenario on many times by using automated test with same input and timing for each run.

  • Tester can spend more time in a smarter way to find bugs rather than concentrating on input and observing the result.

  • You can save the test object and rerun afterwards. The incremental cost to run automated test in negligible. Also, you have a better chance to find new bugs that may be introduced for changed software.

  • Many bugs are found when the system is run for long hours. That can be achieved more smartly by automated testing compared to manual testing.

  • Testing efficiency is the measurement of test that a tester runs in an hour. Higher efficiency lowers product development time and costs.

  • Testing effectiveness is the rate rate at which you can find bugs before software is released. Higher effectiveness produces better product with lesser cost and provides more customer satisfaction.

  • If you replace manual testing with automated test, that can reduce your testing time significantly. In the long run, it reduces your time to market the product and results in enormous cost benefit.

  • Earlier entry of the product in the market means that you have bigger share of the market. So you can achieve a greater margin of profit in the end.

  • Higher market share means lower unit cost. Higher volume means bigger discounts from the supplier and better operating efficiency.

  • Tester's toolbox

  • A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages.

Java

Appium

Practice Website

What are the criteria for determining success for Test Automation? https://essenceoftesting.blogspot.sg/2014/04/what-are-criteria-for-determining.html

Six Performance Testing Mistakes Newbies Make https://www.joecolantonio.com/2016/09/02/six-performance-testing-mistakes-newbies-make-avoid-slipping/

The Top 8 Essential JavaScript Automation Frameworks https://www.joecolantonio.com/2016/06/14/top-8-essential-javascript-automation-frameworks/

https://dzone.com/refcardz/getting-started-selenium https://dzone.com/refcardz/html5-new-standards-web-interactivity https://dzone.com/refcardz/mobile-web-application-testing https://dzone.com/refcardz/core-java

FREE API Security Test Tools https://www.joecolantonio.com/2016/07/19/3-free-api-security-tools/

4 Essential Test Data Strategies https://www.joecolantonio.com/2016/06/09/4-test-data-strategies-automation/ 5 Proven Secrets of Test Automation https://www.joecolantonio.com/2016/05/26/5-secrets-test-automation/

Visual Test Automation

https://simpleprogrammer.com/2016/08/31/resources-to-learn-automation-testing/