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

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.
主站蜘蛛池模板: 锡林郭勒盟| 垦利县| 新津县| 铜陵市| 泰兴市| 乐安县| 衡山县| 尉氏县| 大洼县| 云梦县| 泊头市| 肃北| 清镇市| 广东省| 南召县| 宣恩县| 长沙县| 定州市| 稻城县| 怀集县| 肥乡县| 隆回县| 杭锦后旗| 广河县| 安义县| 德昌县| 泸西县| 龙里县| 德惠市| 淮阳县| 林口县| 龙泉市| 贡山| 兴隆县| 灵台县| 太湖县| 渭南市| 利辛县| 盐山县| 尼玛县| 嫩江县|