1.1软件测试的定义以及分类

软件测试的定义

软件测试是指有特定的目的、有方法的,并且需要提交缺陷-跟踪解决的一个过程。其目的在于检验软件是否满足或弄清预期结果与实际结果之间的差别。既为了发现程序中的错误而使用人工或者自动手段执行程序或测试某个系统的过程。

 

软件测试的目的

1.发现程序存在代码或者业务逻辑错误。既通过输出预期结果和实际结果,再结合需求判断程序是否有BUG。

2.校验产品是否满足用户需求。

3.提高用户体验。能够吸引用户的,符合用户操作习惯的。

 

软件测试原则

1.尽早介入测试,在需求设计阶段就应该开始设计测试。

2.所有测试应该要反馈到用户需求。

3.程序或系统的测试需要有专门的人员负责,除了单元测试,其他测试应该交给专业的人员跟进。

4.设计测试用例是要考虑到合法的输入和非法的输入以及各种边界条件,特殊情况还要制造极端状态和意外状态。

5.二八原则,80%的错误很可能起源于20%的模块中。

6.对错误结果要进行一个确认过程。

7.制定严格的测试计划。

8.完全测试是不可能的,就算是上线的产品多多少少都会有BUG,测试需要终止。

9.保存测试过程中的所有文档。

 

测试的对象

1.程序

2.数据

3.文档

 

 

 

 

软件测试的分类

1.按照测试阶段划分:

单元测试

集成测试

系统测试

验收测试(正式验收测试、alpha测试(一种前期的用户测试,内部模拟验收)、beta测试(一种后期的用户测试,外部正式环境下发布的版本,进行公测))

 

2.按测试技术划分:

白盒测试,不仅关注输入输出,同时关注程序内部的处理过程

黑盒测试,也叫数据驱动测试,重点关注输入输出的结果

灰盒测试,介于两者之间

 

3.按照被测对象是否运行划分:

动态测试

静态测试(文档检查、代码走查、界面检查)

 

4.按照不同的测试手段划分:

手工测试

自动化测试,适用于需求明确,流程固定的产品

 

5.按照测试包含的内容划分

功能测试,测试软件功能是否符合需求,一般采用黑盒测试方法

界面测试,又称UI测试,主要测试用户界面布局是否合理,整体风格是否一致,界面文字是否正确,页面是否美观等

安全测试,测试该系统的防止非法入侵能力

兼容性测试,测试该系统与其他软件硬件兼容的能力(app与cs架构软件、bs架构软件)

易用性测试,测试软件是否易用,一般根据用户的反馈进行评价

性能测试,问了获取或者验证系统性能指标而进行的测试,在不同负载的情况之下进行

压力测试,高负载下,确定系统的稳定性

负载测试,通过改变负载方式、增加负载来发现系统存在的性能问题

其他测试划分:

冒烟测试,对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。

回归测试,开发修正后,确认问题被修复,防止确认修改部分不会对其他功能造成影响

 

posted @ 2017-05-24 12:42  alpha-go  阅读(286)  评论(0编辑  收藏  举报