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

Better tests

No matter whether one is using black-box, white-box, or both types of testing, the order in which they are written is very important.

Requirements (specifications and user stories) are written before the code that implements them. They come first so they define the code, not the other way around. The same can be said for tests. If they are written after the code is done, in a certain way, that code (and the functionalities it implements) is defining tests. Tests that are defined by an already existing application are biased. They have a tendency to confirm what code does, and not to test whether a client's expectations are met, or that the code is behaving as expected. With manual testing, that is less the case since it is often done by a siloed QC department (even though it's often called QA). They tend to work on test definition in isolation from developers. That in itself leads to bigger problems caused by inevitably poor communication and the police syndrome, where testers are not trying to help the team to write applications with quality built in, but to find faults at the end of the process. The sooner we find problems, the cheaper it is to fix them.


Tests written in the TDD fashion (including its flavors such as ATDD and BDD) are an attempt to develop applications with quality built in from the very start. It's an attempt to avoid having problems in the first place.
主站蜘蛛池模板: 永兴县| 芦溪县| 淅川县| 乐至县| 龙泉市| 韩城市| 黄山市| 大厂| 阳城县| 花垣县| 宜州市| 保亭| 霍邱县| 衡阳县| 佛冈县| 威信县| 张家港市| 伊通| 张北县| 射洪县| 师宗县| 海南省| 沧州市| 环江| 大同县| 旅游| 漾濞| 淮阳县| 方正县| 慈溪市| 综艺| 松桃| 内乡县| 克东县| 鹿泉市| 萍乡市| 佳木斯市| 禄劝| 阜南县| 沙坪坝区| 吉安市|