Test Maintainability Flashcards

1
Q

In what sense, Automation Complexity is a dual-edged sword?

A

In one side, allows to build intelligence into our scripts so that they better simulate a
human tester running a test.
But in the other side, we need to handle an ever-increasing amount of complexity in the
SUT that we work on.

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

In which sense we can move intelligence up to the TAA and/or TAF and out of the script?

A

by putting intelligence into callable functions rather than having to program intelligence into each script individually

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

What is the benefit of make our scripts more scalable and maintainable?

A

If our code which adds intelligence fails, it will make a lot of scripts fail, but fixing them all can be done at a single point of contact.

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

How can we achieve scalability and maintainability in our scripts?

A

By moving more intelligence upward and out of the scripts themselves

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

other name for “aggregate functions”:

A

“wrapper functions”

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

What kind of effort we should put into the failing block?

A
  • The log statements should be comprehensive such to cut down the troubleshooting effort when a test fails.
  • The cleanup functionality should ensure that the test suite can continue on to the next test.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What do we need that a test tell us?

A

To tell us what we don’t already know about the SUT, its environment, and its usage

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

Why it is so important to discuss the automation with the developers in your organization?

A

To prevent constant breakage of your automation that deals directly with the HTML.

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

How can we make our code more readable?

A

Defining global names (variables, constants, function names, etc.)

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

Easier code maintenance usually means

A

fewer regression defects when changes are made.

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

Why are meaningful comments so important in our automation code?

A

Because we can forget from one day to another the clever thing we did to solve a problem and more people will start putting their fingers into our code.

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

How can we achieve certainty when it comes to data used in our automation project?

A

By creating isolated test accounts and fixtures that are specifically to be used by automation scripts.

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

What are the features of the test accounts and fixtures that we need to make available exclusively for automated testing?

A
  • Enough different accounts that multiple tests should not interfere with each other’s data.
  • With enough data in these accounts to make them simulate real accounts.
  • If the SUT has different types of users (e.g., novices, techno geeks, power users, etc.) these should be modeled in our test accounts.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What standards and guidelines should be adopted to deal with Logging files?

A
  • Use consistent naming conventions and save the files to consistent folders.
  • Consider making a folder with a timestamp in the name.
  • If multiple machines are running the automation, or if testing in different environments, consider adding the workstation name or environment names to the folder names.
  • Think of including time stamps in the file names.
  • If the files are not needed in the future, put them into directories that can be destroyed without harm.
  • If the files need to be saved, make sure that your folder structure includes that information.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly