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

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.
主站蜘蛛池模板: 普格县| 平原县| 方正县| 洪泽县| 凉城县| 吴江市| 乌拉特前旗| 肥乡县| 同心县| 婺源县| 台中县| 柳江县| 沁水县| 安多县| 梁山县| 两当县| 徐汇区| 韶山市| 棋牌| 即墨市| 钟祥市| 揭阳市| 新沂市| 通化市| 大余县| 南京市| 永吉县| 同心县| 岗巴县| 双峰县| 白玉县| 长春市| 吉木萨尔县| 隆尧县| 贺兰县| 常德市| 广丰县| 荔浦县| 聊城市| 永春县| 磐石市|