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

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.
主站蜘蛛池模板: 含山县| 海城市| 武鸣县| 岢岚县| 沈丘县| 贵阳市| 大悟县| 加查县| 新源县| 盘锦市| 板桥市| 利津县| 福海县| 法库县| 德令哈市| 太康县| 九江市| 都匀市| 鄂托克前旗| 望奎县| 德安县| 峨眉山市| 故城县| 大连市| 北安市| 舞钢市| 六安市| 房山区| 凤庆县| 永顺县| 阳城县| 河北省| 五台县| 宜川县| 随州市| 开平市| 陈巴尔虎旗| 明光市| 城市| 平阳县| 晋宁县|