- Automated Testing in Microsoft Dynamics 365 Business Central
- Luc van Vugt
- 403字
- 2021-06-24 14:56:54
No design, no test
Goal: Understand why tests should be conceived before they are coded and executed.
I guess I am not far off saying that most of the application testing done in our world falls under the term of exploratory testing. Manual testing is done by experienced resources that know the application under test and have a good understanding and feeling of how to break the thing. But this with no explicit design and no reproducible, shareable, and reusable scripts. Now, in this world, we typically don't want developers to test their own code as they, consciously or unconsciously, know how to use the software and evade issues. Their mindset is how to make it (work), not how to break it.
But with automated tests, it will be developers that will code them. And more often than not, it will be the same developer that did the application coding. So, they need a design of what tests to code. Tests that will cover a broad set of scenarios. Sunny and rainy ones. Headless and UI tests. And what about unit and functional tests?
In my humble opinion, the test design, like any other deliverable, is owned by the team. It is a joint effort to agree upon the test design. It's an agreement between the product owner, tester, developer, functional consultant, and key user. And if there is no design, there will be no test. A test design is an object to help the team to discuss their test effort, to reveal the holes in their thoughts, and to let it mature while working on it. And as will be discussed as follows, it is a possible way of putting your requirements down that allows your team to efficiently get from requirements to test and application code.
A fully-fledged test design would describe the various kinds of tests that should be executed such as performance, application, and security; the conditions under which they must be performed; and the criteria that make them successful. Our test design will only address application tests, as that is the focus of this book: how to create application test automation. Once our test design holds a complete set of test cases, they need to be detailed out and that's what the next section is about.