极限追问022-验收测试怎么写 - 图1
    只有单元测试大多数时候是不够的,那这种情况下开发者应该怎么办,今日灵魂拷问:

    ① 编写验收测试用例有什么技巧?
    ② 什么时候应该运行验收测试?
    ③ 验收测试的结果报告给谁看?怎么给?
    极限追问022-验收测试怎么写 - 图2
    验收测试是部署软件之前的最后一个测试操作。在软件产品完成了单元测试、集成测试和系统测试之后,产品发布之前所进行的软件测试活动。
    它是技术测试的最后一个阶段,也称为交付测试。
    验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
    验收测试是从用户视角来确定已完成的功能是否能够正常工作。
    编写验收测试用例可以采用BDD风格来编写。
    写完验收测试之后应该在什么时间验收比较合适呢?
    在几年前的一个项目中使用到了验收测试。验收测试会在某个功能完成后并且已经进入到UAT环境,由QA来按照BDD的风格编写自动化测试脚本。
    按照这种形式写出来的验收测试,结果报告该给TL、DEV、BA、PO或客户看。

    • 首先团队了解软件的状态,约定准确时间,QA做个简单的介绍;
    • 如果给技术人员看,则需要很详细,目的是帮助开发人员定位问题;
    • 其他的角色除了当面汇报还要进行一些邮件记录。

    【问——答】

    Q:写单测的时候需要构造数据,有时候一个类里面我只需要关注一个字段,为了构造方便我会写一个只有这个字段的构造函数,如下图。但是感觉这样的话该构造函数就只为了做测试,是不是不太好。有更好的方案吗?
    极限追问022-验收测试怎么写 - 图3

    A:首先,测试为什么要构造?可能是分层测试,mock了下层返回值,需要对象测试不同场景。
    你可以这样想:为什么要写一个单独的构造方法,而不是用正常的构造方法,传入一整组测试数据呢?
    但可能会面临:即便可以把字段都填满,但是需要时间,而且都是重复的。其实这就是构造测试数据集的意义。他要自动化,针对单字段的自动化无助于完整验证代码质量的。
    或者反思一下,这么测是不是本身就有问题,从源头看问题呢?或许有时候我们就是在将错就错的搞,这个在项目里很常见。

    极客学院原文链接:https://mp.weixin.qq.com/s/dYT7GsHOBONm1szvsWXD3g