Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Test Automation Engineering Handbook
  • Table Of Contents Toc
  • Feedback & Rating feedback
Test Automation Engineering Handbook

Test Automation Engineering Handbook

By : Manikandan Sambamurthy
5 (6)
close
close
Test Automation Engineering Handbook

Test Automation Engineering Handbook

5 (6)
By: Manikandan Sambamurthy

Overview of this book

This book helps you build a better understanding of test automation and aids in bridging the gap between testing and test automation. The book has been divided into three sections with the first section focusing on preparing you for testing and test automation fundamentals. By the end of this section, you’ll have an understanding of some common automation terms, definitions, and roles. The second section covers the practical implementation of test automation for mobile, web, API and performance. The third section will help you understand how test automation works with CI/CD, and explore the common issues and pitfalls when executing test automation. By the end of this book, you’ll have a better understanding of automation, addressing the common pain points and best practices around test automation.
Table of Contents (18 chapters)
close
close
1
Part 1: The Basics
5
Part 2: Practical Affairs
11
Part 3: Continuous Learning

Familiarizing yourself with common terminologies and definitions

In this section, we will look at some of the most commonly used terms in the quality engineering space. Since quality engineering is part of the software engineering practice, you would notice quite a few familiar terms if you’re a software engineer:

  • A/B testing: Testing to compare two versions of a web page for performance and/or usability to decide which one better engages the end users.
  • Acceptance testing: A testing technique to establish whether a feature/product meets the acceptance criteria of business users or end users.
  • Agile methodology: This is an iterative approach to software development that puts collaboration and communication at the forefront. Essentially, it is a set of ideas to deliver software to customers quickly and efficiently.
  • Behavior-Driven Development (BDD): BDD is a common Agile practice where critical business scenarios are first documented and then implemented to make sure the end product evolves continuously with shared understanding. We will look at an implementation of the BDD framework in Chapter 7.
  • Black-box testing: This testing technique focuses on the output of a product, ignoring the design and implementation details.
  • Data-driven testing: A common automated testing approach where a reusable logic, often part of a test script, is run over a collection of test data to compare the actual and expected results.
  • End-to-end testing: A testing technique to ensure that the integrated components of a product work as expected. This is a very important testing type to verify critical business flows.
  • Exploratory testing: A manual testing approach where the product is tested in an investigative and inquisitive manner without documented steps with the main goal of finding bugs.
  • Integration testing: A testing technique in which the communication logic of the individual software components or services are combined and tested as a group.
  • Load testing: A type of testing to evaluate the performance of a software application by simulating the real-world traffic on the system. It can be done with a software system as a whole or just an API or database. We will consider the setup for load testing in Chapter 8.
  • Penetration testing: This is a type of security testing where a tester attempts to find and exploit the vulnerabilities of a software application.
  • Security testing: A testing type to ensure that all the required defenses are in place against various types of cyber threats.
  • Stress testing: This is a type of performance testing where the system is subject to heavy loads with the intention of breaking it. Stress testing is mainly used to determine the performance limits of a software application. We will look into the setup for stress testing in Chapter 8.
  • API testing: This is a testing type focused on verifying the API’s logic, build, and structure. The main goal is to validate the functional logic of the APIs. We will look at an implementation of API testing in Chapter 7.
  • Smoke testing: A testing technique that is primarily used to check the core features of a product when there is a change introduced or before releasing it to a wider audience.
  • System testing: A testing type used to evaluate the software system as a whole to make sure the integration of all the components is working as expected.
  • Test case: This is a collection of steps, data, and expected results to test a piece of code or a functional component within a software application.
  • Test plan: This is a document that outlines a methodical approach to testing a software application. It provides a detailed perspective on testing the various parts of the application in its parts and as a whole.
  • Test-Driven Development (TDD): This is an approach mainly used in the Agile world where a test is written first followed by just enough code to fulfill the test. The refactoring of the code continues to follow the tests, thus keeping the emphasis on specifications.
  • Test suite/test automation suite: A collection of automated test scripts and associated dependencies used to run against the software application.
  • Unit testing: A type of testing in which the logic of the smallest components or objects of software is tested. This is predominantly the first type of testing performed in the development life cycle.
  • Usability testing: This is a testing technique used to evaluate a product (usually, a web application) with the aim of assessing the difficulties in using the product.
  • Validation: This is the process of ensuring the input and output parameters of a product. It answers this question: Are we building the product correctly?
  • Verification: This is the process of checking whether the product fulfills the specified requirements. Verifications answer question: Are we building the right product?
  • Waterfall model: This is a project management methodology in which the software development life cycle is divided into multiple phases, and each phase is executed in a sequential order.
  • White-box testing: A testing technique to validate the features of a product through low-level design and implementation.

We have equipped ourselves with the knowledge of a wide array of terms used in the quality industry. Now, let’s quickly summarize what we have seen in this chapter.

bookmark search playlist download font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY