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

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.
主站蜘蛛池模板: 蒙阴县| 长兴县| 满洲里市| 秭归县| 蓬莱市| 高邑县| 太白县| 日照市| 北票市| 剑河县| 宝山区| 雷州市| 敖汉旗| 冷水江市| 铁岭市| 南丰县| 新营市| 大足县| 如东县| 老河口市| 长白| 阳原县| 阳谷县| 余庆县| 台南县| 威宁| 精河县| 麻城市| 娄底市| 宜章县| 临桂县| 阳谷县| 北流市| 南昌市| 开原市| 晋中市| 荔波县| 郴州市| 新巴尔虎右旗| 隆安县| 徐汇区|