软件测试(四)---软件测试分类

1.按照开发阶段分

1.1单元测试

针对代码进行的,对程序的一个单元进行测试,这个单元可能是一个类,也可能是一个方法
测试方法:白盒测试
测试对象:单元模块
测试阶段:在开发前(TDD,测试驱动开发) 开发后
测试内容:模块接口测试(输入输出,输入参数的数量、类型,类型的排列,输出是否符合接口设计文档)、局部数据结构测试、路径测试、错误处理测试、边界测试
java中的单元测试如何做?
(1)在pom.xml文件中添加依赖 (2)创建单元测试类,几个常用的标签:
@Test 在每一个单元测试方法上必须有,否则不会被认为是要执行的单元测试方法
@Ignore 用来忽略一个方法的单元测试,即不对此方法进行单元测试
@Before 在执行每一个单元测试方法之前执行
@After 在执行每一个单元测试方法之后执行

1.2集成测试

集成是指按照一定的策略逻辑组合单元模块,形成一个功能模块
测试方法:灰盒测试
测试阶段:单元测试之后
测试内容:接口之间数据的传输,全局数据结构,模块组装的功能正确性,单个功能模块缺陷对整体的影响,模块和模块之间的功能冲突

1.3系统测试

系统测试是全面测试
测试方法:黑盒测试
测试阶段:集成测试之后
测试依据:需求文档
测试内容:功能、界面、易用性、性能、安全性、兼容性、可靠性
其中有两个重要的测试:
a.回归测试
回归测试在系统引入新的代码(增加功能或修改BUG)时进行测试。回归测试的策略很重要,我们要评估回归测试的范围或进行自动化测试。
b.冒烟测试
对系统的主要功能和核心流程进行测试;
用来评估系统是否要进入正式的测试环节的依据。
特殊一个:提测用例,很少用,主要针对本次迭代的主要功能和系统的核心流程进行测试用例的设计

1.4验收测试

是客户按照用户的需求对系统进行测试
测试人员:客户
测试方法:黑盒测试
测试内容:功能、界面、易用性、性能、安全性、兼容性、可靠性;还有对文档进行测试,包括软件设计文档,功能设计文档,用户使用手册,详细功能使用文档等

2.按测试实施组织来划分

2.1Alpha测试

是用户(非专业人员)在开发环境下进行测试
优点:如果发现了问题可以及时反馈,及时解决
缺点:用户在开发环境下,容易受专业人员的影响

2.2Beta测试

是实际使用者在真实环境下进行测试,测试环境、地域不受限制
优点:测试结果更接近实际使用情况
Beta测试在Alpha测试之后
两者对比:地域不一样----前者在开发环境下,后者在实际使用环境下;
时间的集中程度不一样----前者测试实际相对比较集中,后者相对分散

2.3第三方测试

由软件的第三方测评机构进行测试

3.按照是否运行划分

3.1静态测试

即不执行代码进行测试 ,如代码评审。静态代码分析等 ISO25010标准参考

3.2动态测试

即写测试用例,运行程序,对系统进行测试;查看分析系统的输出是否符合预期

4.按照是否手工划分

4.1手工测试

指设计测试用例、运行程序,一步步手动执行,对系统进行测试
优点:测试比较灵活,可以根据实际情况进行测试用例的调整修改完善
缺点:效率比较低,如果测试量比较大时,容易出错

4.2自动化测试

指把手工测试的测试用例转换成自动化脚本,让机器去执行脚本,给定预先设计好的条件和结果的预判去执行
有接口自动化测试、性能自动化、web自动化、app自动化之分
使用自动化测试,提高了测试效率,解放了双手,节省了人力物力。不过,当一个自动化脚本使用率越高时越有价值。而且,一个项目要使用自动化,此项目要周期长,不停迭代,需求相对稳定

5.按照是否查看代码划分

5.1不看代码的黑盒测试

黑盒测试在测试的时候只关心输入和输出,不关心功能的内部逻辑,具体实现
六个黑盒测试的设计用例方法(等价类、边界值、因果图、正交设计法、场景法、错误猜测法)

5.2看代码的白盒测试

白盒测试是对程序内部逻辑、结构功能、具体代码进行的测试
测试方法:语句覆盖法、循环覆盖法、逻辑覆盖法(包括:路径覆盖法、判定覆盖、判定组合覆盖、条件覆盖)

5.3灰盒测试

介于白盒测试和黑盒测试之间
既要关心输入与输出,又关心内部逻辑(集成测试和接口)

6.按地域划分

6.1本地化测试

是指为各个地方开发产品的软件测试,如英文版、中文版等,包括程序是否能够正常运行,界面是否符合当地习俗等。特别要测试A语言操作系统环境下运行B语言软件,运行是否正常

6.2国际化测试

软件国际化:指在开发一款软件的时候运用一种工程技术,可以使软件使用不同的语言,却不用修改源码

7.按照测试对象划分

7.1界面

你所看到的就是要进行测试的
响应式测试–系统的页面可以随着屏幕分辨率不同而自适应
界面测试常见的错误:不合适的快捷键,重叠展示,文字消失,没有对齐等

7.2容错性测试

当系统因为外部环境的影响或用户的误操作,导致系统发生错误,但是系统可以自我处理,使系统正常稳定运行

7.3文档测试

即对软件开发过程中产生的稳定进行测试。主要测试文档和软件系统的一致性。文档术语是否得当(正确性、完整性、易用性)

7.4兼容性测试

a.Web系统的兼容性
主要原因是不同的浏览器,内核不一样,对同一个页面的解析不一样
b.App兼容性测试
c.软件本身向前或向后的兼容性,要能够不影响已有功能、软件是否和其他相关软件兼容、数据的兼容

7.5易用性测试

用户体验性测试
符合标准规范,直观性,灵活性,实用性等

7.6安装\卸载测试

app的安装方式–安装包,命令行,压缩包解压,第三方应用
卸载方式–桌面卸载,命令行卸载,第三方应用
要注意测试一些极端情况

7.7性能测试

性能测试是为了让用户有良好的使用体验,系统可以快速响应用户需求,稳定运行,同时可以处理预期的用户负载和事务数量。
衡量标准有:响应时间–3/5/10s原则
TPS–每秒处理的事务数量
吞吐量–系统在单位时间内处理的信息量
点击率–每秒向服务器发送的http请求的个数
要关注系统在运行时占用的资源情况,如:CPU、内存、磁盘、网略带宽、耗电量等

7.8安全测试

SQL注入;上传下载;防爬虫;xss注入等

7.9内存泄漏测试

在使用函数,分配内存的时候,没有及时释放内存或无法释放,导致系统运行占的内存越来越多,系统运行的越来越慢,甚至崩溃。
测试方法:可以走读代码来分析;利用工具进行测试

二、软件测试曲线

在这里插入图片描述
一般来说,在两条曲线交汇处为产品发布的最好时候,避免过度软件测试,也避免软件测试不够。而且在软件测试中有一种现象,被称为杀虫剂现象。
为了避免这种现象,建议每次进行轮流测试,安排不同的工程师进行不同模块的测试工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值