什么是测试
顾名思义,就是在规定的条件下对一个产品或程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试背景
软件测试在软件生命周期中占据重要的地位,软件测试慢慢的独立发展成为一个行业,并且在迅猛发展,软件测试主要是发现问题定位问题,配合开发解决问题,如果公司中没有测试岗位可能存在很大的风险。
例如:
1. 软件缺陷与软件故障
跨世纪前年虫洞问题
2000年之前由于时间表示是用YYMMDD这种方式,用二位10进制表示的,但是到了2000年,两位数出现了争议,00到底表示的是1900年还是2000年,后来使用了YYYYMMDD的方法表示,这是由于系统bug造成的
2. 软件的缺陷产生的原因
软件缺陷一般有两种原因,第一大原因就是软件产品规格说明书,很多情况下,说明书没有写,或写的不够全面,经常更改,或者开发小组没有很好的沟通,造成对说明书理解的不一致。第二大原因是软件设计,没有做设计或设计不好,经常变动等和产品规格说明书一样的问题,第三个原因才是编写代码和其它原因;前两个原因至少占了 80%以上。
3.软件测试和修复的代价
缺陷发现的越早,则修复这个缺陷的代价就越小,在需求、设计、编码、测试、发布等不同的阶段,发现缺陷后修复的代价都会比在前一个阶段修复的代价提高10倍
测试流程
立项——产品说明书——写需求文档——需求评审{代码开发自测(开发环境),编写测试用例——测试用例评审——提测(环境部署)测试环境——冒烟测试——提交bug到禅道——回归测试——验收测试——上线}
- 立项
这是由开发、测试、需求、经理和主管参加开会讨论,从用户角度提供设计,开发角度是否能完成,联系其他模块分析是否设计存在风险或缺陷 - 产品(产品说明书)
由产品完成产品说明书,有些公司没有产品。 - 需求文档
由需求定制需求文档 - 需求评审
由开发、测试、产品、经理开会探讨需求是否合理
4.1 开发自测
需求评审通过后,开发设计一份概要设计再进行编码到自测完成后提测
4.2 需求评审通过,测试人员写测试用例,可用思维导图
4.2.1 用例评审
1测试用例设计
2测试用例评审,和测试时间估计
3测试资源申请
4测试人员分配
4.2.3 提测一般在linux
4.2.4冒烟测试
测试主要功能是否完成
4.2.5提交bug到禅道
4.2.6回归测试
测试上个版本的b