ISTQB Certified Tester Advanced Level, Test Automation Engineering Questions and Answers
Consider a TAS implemented to perform automated testing on native mobile apps at the UI level, where the TAF implements a client-server architecture. The client runs on-premise and allows creation of automated test scripts using TAF libraries to recognize and interact with the app’s UI objects. The server runs in the cloud as part of a PaaS service, receiving commands from the client, translating them into actions for the mobile device, and sending the results to the client. The cloud platform hosts several mobile devices dedicated for use by this TAS. The device on which to run test scripts/test suites is specified at run time. You are currently verifying whether the test automation environment and all other TAS/TAF components work correctly. Which of the following activities would you perform to achieve your goal?
Automated tests run by a TAS on a SUT can be subject to sudden bursts of messages to log during their execution. All log messages that occur during execution must be permanently stored in the corresponding test execution logs by the TAS for later analysis. If logging is not performed correctly, these bursts can reduce the execution speed of these automated tests, causing them to produce unreliable results. Which of the following solutions would you expect to be MOST useful to address this issue for TAS logging?
A new TAS allows the implementation of automated data-driven test scripts. All the tasks planned for the initial deployment of this TAS, aimed at installing and configuring the TAS components and provisioning the infrastructure, will be performed manually by a dedicated, specialized team. This TAS is expected to be deployed in the future in other similar environments. As a TAE, you see a risk that the correct and reproducible deployment of the TAS cannot be guaranteed. Which of the following options is BEST suited for mitigating this risk?
What is NOT a factor in considering when you are asked to ensure an effective transition from manual to automated tests?
(Which of the following statements refers to a typical advantage of test automation?)
(In User Acceptance Testing (UAT) for a new SUT, in addition to the manual tests performed by the end-users, automated tests are performed that focus on the execution of repetitive and routine test scenarios. In which of the following environments are all these tests typically performed?)
As a TAE, you are evaluating a test automation tool to automate some UI tests for a web app. The automated tests will first locate the required HTML elements on the web page using their corresponding identifiers (locators), then perform actions on those elements, and finally check the presence of any expected text for an HTML element. These tests are independent of each other and are organized into a test suite that must be run every night against the most recent build of the web app. There is a high risk that the web app will crash while running some automated tests. Based only on the given information, which of the following is your MOST important concern related to the evaluation of the test automation tool?
You are executing the first test run of a test automation suite of 200 tests. All the relevant information related to the state of the SUT and to the automated test execution is stored in a small database. During the Automated test run you observe that the first 10 test pass, while an abnormal termination occurs when executing the 11thtest. This test does not complete its execution and the overall execution of the suite is aborted. An immediate analysis of the abnormal termination is expected to be time consuming and you have been asked to produce a detailed report of the execution results for the first test run, as soon as possible.
What is the MOST important FIRST step to be taken immediately after the abnormal occurred when executing the 11thtest?
Consider the following layers of the gTAA structure:
a. Test generation layer
b. Test definition layer
c. Test execution layer
d. Test execution layer
Consider the following capabilities associated with these layers.
Acquire all the necessary resources before each test and release all after run, in order to avoid interdependences between test
Allow the automated test scripts on an abstract level to interact with components, configurations and interfaces of the SUT.
Design test directives that allow configuring the algorithms used to automatically produce the test cases a given model of the SUT.
Allow the definition and implementation of test cases and data by means of templates and/or guidelines.
Which of the following BEST matches each layer with the appropriate capability?
A project consists of distributed teams working in a 24-hour environment, where activities happen at all hours of the day. This project adopts a CI (Continuous Integration) process when developer check-in code and consists of automated activities that include generating a build and deploying it to a test environment. Automated integration tests are run multiple times a day. The project have asked for a report containing the automation test results for every build, which must be available 24/7 to the project team.
Which of the following would be the BEST way to automatically provides this report?
You are currently designing the TAA of a TAS. You have been asked to adopt an approach for automatically generating and executing test cases from a model that defines the SUT. The SUT is a state-based and event-driven that is described by a finite-state machine and exposes its functionality via an API. The behavior of the SUT depends on hardware and communication links that can be unreliable.
Which of the following aspects is MOST important when designing the TAA in this scenario?
Consider the following example of TAS metrics.
Time to execute automated tests
Speed and efficiency of TAS components
Which of the following statements is TRUE?
Which of the following BEST describes why it is important to separate test definition from test execution in a TAA?
Consider a TAS that is going to be deployed for the first time. The TAS requires share resources and run it its own test environment. The infrastructure for the TAS has been created along with maintenance procedures. It is very unlikely the TAS will be required to work in other target
Environments. There is a high-risk that when the TAS is deployed in its own test environment, a number of existing application will no longer work because of conflicts with the existing shared resources.
Which of the following activities would you expect to be MOST effective at mitigating the risk associated with the first deployment of the TAS?
A SUT (SUT1) is a client-server system based on a thin client. The client is primarily a display and input interface, while the server provides almost all the resources and functionality of the system. Another SUT (SUT2) is a client-server system based on a fat client that relies little on the server and provides most of the resources and functionality of the system. A given TAS is used to implement automated tests on both SUT1 and SUT2. The main objective of the TAS is to cover as many system functionalities as possible through automated tests executed as fast as possible. Which of the following statements about the automation solution is BEST in this scenario?
A TAS is used to run on a test environment a suite of automated regression tests, written at the UI level, on different releases of a web app: all executions complete successfully, always providing correct results (i.e., producing neither false positives nor false negatives). The tests, all independent of each other, consist of executable test scripts based on the flow model pattern which has been implemented in a three-layer TAF (test scripts, business logic, core libraries) by expanding the page object model via the façade pattern. Currently the suite takes too long to run, and the test scripts are considered too long in terms of LOC (Lines of Code). Which of the following recommendations would you provide for improving the TAS (assuming it is possible to perform all of them)?
Which of the following practices can be used to specify the active (i.e., actually available) features for each release of the SUT and determine the corresponding automated tests that must be executed for a given release?
You have been asked to automate a set of functional tests at system Test level via the CLI of the SUT for the first release of a software system. The automated tests will be delivered to the learn in change of maintenance testing, who will use them for part of the regression testing. They have the following requirements.
1. The automated tests must be as fast and cheap to maintain as possible
2. The cost of adding new automated tests must be as low as possible
3. The automated tests must have a high level of independence from the tool itself
Which of the following scripting techniques would be MOST suitable?
Consider a TAS that exclusively uses the APIs of a SUT. To make this work, significant changes have been required to the SUT by adding a set of dedicated test interfaces to the APIs. All the automated tests will use these test interfaces when interacting with the SUT. Assume that you are currently verifying the correctness of the automated test environment and test tool setup.
Which of the following would you expect to be the MOST specific risk associated with this scenario?
You are reviewing the testability of your SUT.
Which of the following BEST refers to the characteristic of OBSERVABILITY?
Which of the following is the BEST example of how static analysis tools can help improve the test automation code quality in terms of security?
Which of the following statements about contract testing is TRUE?
Consider choosing an approach for the automated implementation of manual regression test suites written at the UI level for some already developed web apps. The TAS is based on a programming language that allows the creation of test libraries and provides a capture/playback feature that allows recognition and interaction with all widgets in the web UIs being tested. The automated tests will be implemented by team members with strong programming skills. The chosen approach should aim to reduce both the effort required to maintain automated tests and the effort required to add new automated tests. Which of the following approaches would you choose?
You are currently conducting a Proof of Concept (PoC) aimed at selecting a tool that will be used for the development of a TAS. This TAS will exclusively be used by one team within your organization to implement automated UI-level test scripts for two web apps. The two tools selected for the PoC use JavaScript/TypeScript to implement the automated test scripts and offer capture and playback capabilities. Three test cases for each of the two web apps were selected to be automated during the PoC. The PoC will compare these two tools in terms of their effectiveness in recognizing and interacting with UI widgets exercised by the test cases, to quickly determine whether test automation is possible and which tool is better. Which of the following TAFs is BEST suited for conducting the PoC?