The First Way - Enable Fast and Reliable Automated Testing

18 important questions on The First Way - Enable Fast and Reliable Automated Testing

What are the critical reasons that the test processes run in dedicated environments?

  • Our build can run all the time, independent of work habits of engineers
  • a segregated build and test process ensures that we understand all the dependencies required
  • to package the aplication to enable  repeatable installation of code and configurations into an environment
  • Instead of putting code into packages we can pack it in deployable containers
  • environments can be made more production-like in way that is consistent en repeatable.

Name a few tools for deployment pipeline functionality.

Jenkins, Thoughtwork, Bamboo, Concours, Microsoft Team foundation server, Teamcity, Gitlab CI also cloud bases solutions as Travis CI and Snap.

What is running in a deployment pipeline after commiting code.

  • Building and packaging the software,
  • running automated tests,
  • additional validations such as static analysis,
  • duplication and code coverage analysis,
  • checking style.   
  • Higher grades + faster learning
  • Never study anything twice
  • 100% sure, 100% understanding
Discover Study Smart

Why is it important to commit code several times a day?

  • The time to figure out the problem is shorter and isn't interrupting others work
  • Easier to see of the problem is in the code or in the infrastructure
  • It decreases the chance of more problems at the same time

Name the three testing categories from fastest to slowest.

  • Unit tests (a single method, class or function in isolation)
  • Acceptance test (business acceptance criteria for a user story, the correctness of an API)
  • Integrations test (the application correctly interacts with other applications and services).

What should we do if there are a lot of errors in acceptance of integration tests?

Find a way to test this in an unit test because it's faster and cheaper.

What's the problem if unit or acceptance testing are too difficult and expensive to write and maintain?

The architecture is too tightly coupled.

How can testing be made quicker?

Run them in parallel e.g. after unit and acceptance run performance and security parallel.

How can we ensure that we have reliable automated tests?

Use the technique of Test- driven development (TDD) or Acceptance test-driven development (ATDD).

Who developed the technique of TDD

Kent Beck as part of Extreme programming.

What are the steps of extreme programming?

  1. Write code to fail the test and check in
  2. Write code to pass the test and check in
  3. Refactor both new and old code it well structered and ensure the tests pass. Check in.

What is the problem with unreliable tests?

  • Waste of valuable time
  • increases the overall effort of running and interpreting test results
  • developers who ignore the test results or turning them off.

What should we check in a performance test?

The entire application stack (code, database, storage, network, virtualizations, etc).

What is easier to create a production environment or a performance testing environment?

Performance testing environment? So start with it at the beginning,

Name a few non- functional requirements.

Availability, scalabulity, capacity, security.

What for tests has to be in our testsuites

Unit test, Acceptance test, Integration test, Performance test, Non functional requirements tests

What is necessary when a deployment is not in a green state?

  • That's not possble to enter new work in the system
  • the entire team is informed
  • everybody is offering to help
  • a false positive test has to be removed or immediately be rewritten
  • everybody should be empowered to roll back
  • defect in acceptance test would be a reason to create an unit test

Why is it important to solve problems with the deployment pipeline immediately.

Our environment is not reliable and problems are found in production.

The question on the page originate from the summary of the following study material:

  • A unique study and practice tool
  • Never study anything twice again
  • Get the grades you hope for
  • 100% sure, 100% understanding
Remember faster, study better. Scientifically proven.
Trustpilot Logo