软件测试的作用
1.通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。
2.测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持。
3.测试可以降低同类型产品开发遇到问题的风险。
测试原则
指的就是我们在执行测试工作时必须要遵守的一些规则:
1.测试证明软件存在缺陷
2.不能执行穷尽测试
3.缺陷存在群集现象
4.测试人员应尽早介入
5.杀虫剂现象,同样的一个测试用例不能重的执行多次
6.不存在缺陷谬论:任何软件不可能是完美的。
测试阶段
1.需求分析阶段:各种需求规格说明书。
2.软件架构设计:API接口文档(接口测试)
3.编码实现阶段:源代码(白盒测试,单元测试)
4.系统功能使用:软件功能主题(当前行业做的最多的一种测试)
测试级别:
单元测试、集成测试、系统测试、验收测试(内测/公测)、冒烟测试
系统测试分类
1.功能测试:验收当前的软件主体功能是否可用
2.兼容性测试:验收当前软件在不同的环境下是否还可以使用
3.安全测试:验证软件是否是能授权用户提供功能使用
4.性能测试:相对于当前软件消耗的资源它的产出能力
黑盒白盒灰盒
白盒测试:
这种测试的主题就是软件的底层代码,不会在意外在的界面是否OK,只要求底层功能实现,同时逻辑正确。
黑盒测试:
这种测试指的是被测软件外在主体功能是否可用
灰盒测试:
介于两者之间(接口测试)
上述三种方法当中的“盒”指的就是被测对象。
软件质量特性
1.功能性:软件需要满足用户显示或者稳式的功能。
2.易用性:软件易于学习和上手使用。
3.可靠性:指的就是软件必须实现需求当中指明的具体功能。
4.效率型:类似于软件的性能。
5.可维护性:需求软件具有将某个功能修复之后继续使用的功能。
6.可移植性:当前软件可以从一个平台移植到另一个平台上去使用的能力
软件测试流程
从产品接到需求开立项会,确立需求文档,测试进行编写测试计划,根据需求文档进行编写测试用例,开发进行编码,等编码结束会对主要功能进行冒烟测试,测试执行测试用例,如果发现bug进行提交bug,开发进行修改,当开发修改后对bug进行在次的回归测试(1.bug是否已经解决,2.解决后的bug是否对正常功能的影响)如果bug修改完成测试将bug的状态改为关闭,如果bug没有修改或者是修改后对其他的功能进行影响则bug重新打开并在次提交
测试计划包含什么
1.测试背景2.测试目的3.测试需求(软件、硬件、人员)4.测试用例的设计以及评审5.执行进度6.bug跟踪7.风险评估
设计用例
用例的设计点:
1.功能上
2.UI页面
3.性能
4.安全
5.弱网
6.易用性
冒烟测试、回归测试
1.在执行用例之前会做冒烟测试,如果冒烟测试阶段有问题,则可以直接将此版本回退给开发,冒烟测试通过才会展开全面测试
2.回归测试指的是当我们将某个缺陷提交给开发之后,由他们进行修复,修复完成之后需要测试人员再次对其进行测试
在测试过程中如果开发人员说该bug不是bug你怎么办
1.在多次测试以及不同的测试环境中测试后将bug的复现步骤进行总结并提交开发人员让开来确认
2.可以找项目经理或者产品经理根据根据规格说明书来进行对bug进行确认是否为bug
3.测试人员可以将bug的内容和步骤以及相关内容(执行的测试用例)保存进行到测试总结中,留意在后期出问题进行文件提供
软件架构
b/s c/s(b:浏览器 c:客户端 s:服务端)
两种架构的比较:
1.标准:相对于cs架构来说bs架构的两端都是在使用现成的成熟产品。所以bs会显示的标准一些。
2.效率:相对bs架构来说cs中的客户端可以分担一些数据的处理,因此执行效率会高一些
3.安全:bs架构当中得到数据传输都是以HTTP协议进行的输出,而HTTP协议又是明文输出。可以被抓包,所以相对于cs架构来说bs就显得不那么安全(相对的)
4.升级:bs架构只需要在服务器端将数据进地更新,前台只需要刷新页面就可以完成升级,而cs架构当中必须要将两端都进行更新
5.开发成本:相对于bs架构来说cs当中的客户端需要自己开发,所以相对于来说成本会高一些