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

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.
主站蜘蛛池模板: 靖西县| 柳州市| 花垣县| 四川省| 馆陶县| 林西县| 安义县| 巫山县| 东兰县| 那曲县| 武安市| 新民市| 德阳市| 永寿县| 荃湾区| 南充市| 建水县| 平果县| 邵阳县| 工布江达县| 长子县| 曲靖市| 水富县| 永定县| 大兴区| 昂仁县| 菏泽市| 勃利县| 麻江县| 霞浦县| 滕州市| 永顺县| 秦皇岛市| 大厂| 德州市| 阳城县| 莱阳市| 通海县| 湘西| 澄迈县| 石河子市|