6.2 ATDD
一定的自动化测试和“实现未动,测试先行”的策略
验收测试驱动开发(Acceptance Test Driven Development ,ATDD)
什么是验收测试
验收标准(Acceptance Criteria)验收标准->验收测试(Acceptance Tests)
与单元测试相似,验收测试通常具有两种结果,即测试通过或测试失败。
例子:
验收标准:
用户故事 1:
用户故事 2:
(1)短信发送场景。
① 用户使用绑定的手机号码查询。
用户(用户名为A)已在2020年2月20日有200元信用卡账单。
用户使用绑定的号码18588888888发送短信“bill”给账单中心号码(85555)。
回复的短信内容为“尊敬的信用卡用户A:您好,您本月(2020年2月)账单总额为 200.00 元,最后还款日期为3月15日。谢谢”。
② 用户使用未绑定的手机号码查询。
用户(用户名为A)已在2020年2月20日有200 元信用卡账单。
用户使用绑定的号码19588888888发送短信“bill”给账单中心号码(85555)。
回复的短信内容为“尊敬的信用卡用户 A:您好,您发送的短信号码并未绑定。谢谢”。
(2)APP 发送场景。
① 用户使用绑定的手机号码查询。
用户(用户名为A)已在2020年2月20 日有 200 元信用卡账单。
用户使用绑定的号码18588888888在App注册账户。
回复的短信内容为“尊敬的信用卡用户A:您好,您本月(2020年2月)账单总额为 200.00 元,最后还款日期为3月15日。谢谢”
② 用户使用未绑定的手机号码查询。
用户(用户名为A)已在2020年2月20日有200元信用卡账单。
用户使用绑定的号码19588888888发送短信“bill”给账单中心号码(85555)。
回复的短信内容为“尊敬的信用卡用户A:您好,您发送的短信号码并未绑定。谢谢”。
验收测试和单元测试的关系
单元测试->开发人员的角度
验收测试->用户价值是否被满足
验收测试“三个伙伴”(Three Amigos):分别代表了
3种不同的角度。
包含验收测试的用户故事可被看作系统功能描述的唯一文档,这是一份编写给所有人的文档,新成员加入时,就可以通过用户故事很快理解项目的建构背景。
ATDD的实践
scrum开发团队为每条验收标准编写可以进行自司测试的测试用例
首先,ATDD不是一种测试方法论,而是一种开发方法论。
其次,验收测试关注的是用户价值是否被满足,而单元测试关注的是代码的实现是否正确。所以,
ATDD侧重测试业务用户功能,而TDD在传统上用于运行或自动化单元测试。
TDD是 ATDD 为了完成功能测试而模仿的先锋。
编写“刚好够用”的代码
ATDD的三个阶段
(1)讨论阶段。
(2)开发阶段。
(3)交付阶段。
在代码库中存放自动化验收测试
验收代码设计一个代码库
与代码放在一起
专门建立一个文件夹
自动化验收测试的重构
自动化测试用例需要重构
采用Robot Framework实现自动化验收测试
本人不建议使用Robot Framework非编程工具实现自动化,建议使用selenium Cypress或playwright