官术网_书友最值得收藏!

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.

If you want to learn more about formal test documentation, this Wikipedia article could be a first stepping stone: https://en.wikipedia.org/wiki/Software_test_documentation.
主站蜘蛛池模板: 太康县| 嵊泗县| 凯里市| 海晏县| 大余县| 观塘区| 桦川县| 禄丰县| 长泰县| 和田县| 麦盖提县| 宝鸡市| 安达市| 樟树市| 兴化市| 涪陵区| 江城| 华安县| 温州市| 新兴县| 凤冈县| 长子县| 乌兰察布市| 武夷山市| 黄石市| 宁远县| 周口市| 昌黎县| 西盟| 方山县| 定日县| 佛山市| 莱芜市| 吴川市| 垣曲县| 宝鸡市| 芜湖市| 博野县| 红原县| 福建省| 永昌县|