测试到底是个啥
今天我们用5w2h法则分析一下测试的工作
测试是啥?
测试就是使用一定的策略方法,执行写好的用例或者脚本,去发现程序或系统的错误,使程序或系统更加健壮。
为啥要测试?
1、发现被测对象与用户需求之间的差异,即缺陷。
2、通过测试活动发现并解决缺陷,增加人们对软件质量的信心。
3、通过测试活动了解被测对象的质量状况,为决策提供数据依据
谁来测试?
1、专业的软件测试人员。对于比较复杂的程序或系统,需要有专门的测试人员进行测试。
2、程序开发者。对于代码的单元测试,以及对于一些影响不大的小功能,可以开发自测。
3、产品经理。产品进行验收的时候,需要产品经理来验收测试。
什么时候测试?
在测试之前,需要进行需求分析,并制定测试方案
之后是写测试用例,然后再进行用例评审,评审通过后方可进行正式测试。
测试有五个阶段
1、单元测试阶段,主要是白盒测试为主,一般由开发人员完成。
2、集成测试阶段,开发自测通过后,会把代码提交到测试阶段,这个阶段主要是黑盒测试,接口测试也在这个阶段。
3、系统测试阶段,各个功能模块测试完成,将所有开发的代码提交到整个系统,然后进行验证性的测试。重点关注系统能否正常工作,系统的兼容性等。
4、验收测试阶段,在生产环境进行验证,验证通过,项目才算上线成功。
5、回归测试阶段,回归测试主要目的是修复发现的问题,可以发生在以上任何一个阶段。
在哪里测试?
这个跟软件系统有关系,有的是在手机,有的是在pc端
一般有以下几种,客户端,app,web,h5,小程序,公众号,sdk
如何测试?
1、制定测试计划,需要哪些测试的种类,功能测试,接口测试,性能测试,安全测试,兼容性测试,弱网测试等等
2、写测试用例,
2.1、对于功能测试
具体的测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法、场景法
2.2、对于接口测试
设计用例可以根据功能去设计,根据业务逻辑去设计,异常测试,安全测试等。使用等价类、边界法、特殊值、遍历法等方法
2.3、对于性能测试
一般考虑单场景,混合场景,稳定场景等
2.4、对于安全测试
考虑可能存在以下安全漏洞,钓鱼,暗链,xss攻击,点击劫持,csrf,sql注入,文件上传,暴力破解等
2.5、对于兼容性测试
一般会考虑不同的pc,不同的手机型号,不同手机屏幕大小和分辨率,不同浏览器,不同软件版本等
2.6、弱网测试
一般会考虑2g网络,3g网络,低速网络,无网络等不同情况下的软件使用情况
如何保证测试质量?
1、理解需求,有异议的地方及时和产品沟通
2、用例质量,需要写良好质量的用例,并进行用例评审。
3、执行质量,确保case完整,正确地执行。
4、缺陷管理,对于bug及时记录,及时跟踪解决,并统计分析
5、版本控制,建立主干分支,版本有问题可以随时恢复
6、多类型测试,功能,接口,兼容,性能等测试方法结合,增加测试覆盖面
7、风险评估,上线之前评估上线的风险。确定可以上线之后,确实上线的顺序,并做好版本回退的准备。