Keyword Driven Development Flashcards

1
Q

ISTQB Definition of KDT (Keyword Driven Testing)

A

a scripting technique that uses data files to contain not only test data and expected results, but also keywords

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the The heart of Keyword Driven Testing (KDT)?

A

The idea that every application has a set of different tasks that need to be done to use the application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Definition of Keyword

A

Abstract statement of ‘what’ the system is supposed to do. A keyword is a business action or a step of a test case.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

functional (“the what”) tasks for almost any application rarely change.

A

the functional tasks that the users need to do with the application will almost always remain the same.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The most right people that define the keywords that they need to test in the application.

A

Test analysts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

One of the most important prerequisites for implementing maintainable test scripts

A

is a good structure where the tasks to be performed remain abstract, such that they rarely change.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Which is the layer that contains The test case described in abstract terms?

A

the test definition layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Which is the function of the test adaptation layer?

A

Interfaces between the test case and the physical GUI of the SUT.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In which layer do we find the tool that is going to actually run the tests against the SUT?

A

The test execution layer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Another name for keywords

A

Action Words.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the containment of the KDT files?

A

test data, expected results and keywords.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

One advantage of the separation between a manual test case and the human tester when we use KDT principles:

A

The test case design is decoupled from the SUT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What it is the division of labor that could exist in the automation team when we use the KDT principles?

A

o Test Analysts design test cases and write scripts using keywords, data, and expected results.
o Technical Test Analysts (automators) implement keywords and the execution framework needed to run the tests

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Advantages of the use of Keywords?

A
  • Reuse of keywords in different test cases
  • Improved readability of test cases (they look pretty much like manual test cases)
  • Less redundancy
  • Lower maintenance costs and effort
  • Isolated execution of tests
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

An advantage of the abstract language used in the writting of the keywords.

A

scripts using keywords can be written well before the SUT is available for testing (just like manual tests)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How KDT allows the scalability of the work of a testing team over the TAA?

A

A few technical automators can support an unlimited number of test analysts

17
Q

What is the role of Low level keywords?

A
  • Are implemented as Page Objects in the Test Adaptation Layer, they do the actions on the SUT.
  • Used as parts of higher level keywords in the Test Library of the Test Definition Layer.
18
Q

What is the role of High level keywords?

A
  • Are implemented in the Test Library

- Are used as test steps of Test Procedures in Test Execution Layer

19
Q

In which case the keyword structure can become quite complex?

A

When libraries of keywords use other keywords

20
Q

When keywords are interpreted by special supporting scripts?

A

when KDT is implemented using specialized tools such as Cucumber or RobotFramework.

21
Q

How the conversion works while we are implementing the test automation following the KDT principles?

A

Each keyword becomes the invocation of a function or method of the objects of the Test Library

22
Q

two ways of implementing KDT in practice

A
  • top-down approach

- bottom-up direction.

23
Q

Top-down approach of KDT implementation

A
  • Its first step is to design test cases as they would be designed for manual tests.
  • Then the steps of these test cases are abstracted to become high level keywords, which may be decomposed into low level keywords or are implemented in a tool or a programming language.
24
Q

When the top-down approach is most cost-effective?

A
  • when the Test Library already contains many functions/methods which perform tasks against the SUT.
  • when automated scripts are converted from manual test cases
25
Q

bottom-up direction of KDT implementation

A

scripts are recorded by a tool (e.g., Selenium IDE) and then are refactored and restructured into a proper KDT test automation architecture.

26
Q

What it is the main advantage of the bottom-up direction strategy?

A

Allows test teams to quickly write several test automation scripts and run them against the SUT.

27
Q

In which ways he bottom-up direction exposes the automation project to a risk of future high maintenance efforts and costs?

A
  • When we have more than twenty or thirty scripts using this quick-and-dirty approach without
    refactoring them to be a well-designed TAF.
  • They are first scripted without following manual test cases and thus stand the risk of not being good tests (i.e., they may not actually mitigate important risks that need to be tested).
28
Q

Fine-grained keywords allow more specific scenarios

A

but at the cost of script maintenance complexity

29
Q

The more fine-grained a keyword is,

A

the more likely it is tied intimately to the interface of the SUT and the less abstract it is