Skip to Content

ISTQB CT-TAE: Implement Changes in Test Automation for Improved Maintainability

Learn the best approach for handling data changes in test automation to maximize maintainability. Expert analysis of an ISTQB CT-TAE exam question.

Table of Contents

Question

Two years ago, you deployed a TAS that has been working well with the SUT. This TAS used test data replicated from production that consisted of various customer support contracts each with a particular setting that was being tested (such as standard response times, part replacement policy, etc.). Because these contracts never expired, the data could be used by the test automation with known expected results. A change has recently been made which causes the contracts to expire after 90 days, at which time they must be renewed with updated terms. Expired contracts cannot be used for testing.

You have decided the best way to handle this data change is to query the database for the appropriate contracts and then create a table of the contracts to be used by the test automation. In this way, the scripts will require only minimal changes and the solution will be more flexible.

Given this information, where should this change be implemented to provide the highest level of maintainability?

A. In the affected test automation scripts
B. In the SUT so that the data is retrieved and stored in the current SUT database
C. In the TAS to separate the data from the actual scripts
D. In the TAA so that any TAS instantiated from the TAA will inherit this capability

Answer

D. In the TAA so that any TAS instantiated from the TAA will inherit this capability

Explanation

To provide the highest level of maintainability, the change to query the database for appropriate contracts and create a table of contracts to be used by the test automation should be implemented in the Test Automation Architecture (TAA) (Option D).

Implementing this change at the TAA level offers several key benefits:

  1. Reusability: By making the change in the TAA, any Test Automation Solution (TAS) instantiated from the architecture will inherit this capability. This promotes code reuse and reduces duplication of effort.
  2. Modularity: Separating the data retrieval and storage logic from the actual test scripts follows the principle of modularity. It allows the data management functionality to be developed, tested, and maintained independently of the test scripts.
  3. Flexibility: Housing this change in the TAA provides flexibility to adapt to future modifications in the data or the System Under Test (SUT). The test scripts remain largely unaffected, as they interface with the contract table populated by the TAA.
  4. Scalability: As the test suite grows, managing data retrieval and storage at the architectural level scales better than implementing it within individual test scripts or the SUT itself.

Implementing the change in the TAS (Option C) is a suboptimal choice, as it would tie the data logic to a specific TAS rather than making it inheritable by all TASs derived from the TAA.

Options A and B are less suitable because embedding the data retrieval and storage logic directly in the test scripts or the SUT tightly couples the data management functionality with other components, hindering maintainability and reusability.

In conclusion, to ensure the highest maintainability, the proposed change should be implemented at the Test Automation Architecture level. This approach promotes code reusability, modularity, flexibility, and scalability, all of which are key factors in developing and maintaining an efficient and adaptable test automation solution.

ISTQB CT-TAE certification exam practice question and answer (Q&A) dump with detail explanation and reference available free, helpful to pass the ISTQB CT-TAE exam and earn ISTQB CT-TAE certification.