《软件工程与计算(卷二)》-Chapter19-软件测试

邮差的信 提交于 2020-02-17 22:50:09

A级:

白盒测试和黑盒测试:(给出一个场景,判断应该使用哪种测试方法,如何去写)

黑盒测试:把测试对象看做一个黑盒子,完全基于输入和输出来判断测试对象的正确性

优点 :

1) 比较简单,不需要了解程序的内部的代码及实现

2) 与软件的内部实现无关

3)  从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题

4)  基于软件开发文档,所以也能知道软件实现了文档中的哪些功能

5)  在做软件自动化测试时较为方便

缺点:不可能覆盖所有的代码

常见方法:

1)等价类划分 

2)边界值分析 

3)决策表 

4)状态转换

 

白盒测试:把测试对象看做透明的,按照测试对象内部的程序结构来设计测试用例进行测试工作

优点:帮助软件测试人员增大代码的覆盖率

缺点:

不可能覆盖所有的代码

测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求

系统庞大时,测试开销会非常大

(能解释并区别白盒测试三种不同的方法)

常见方法:

1)语句覆盖:保证每一行代码都至少执行一次。

2)分支覆盖:保证每个判断结果都至少满足一次。

3)路径覆盖:保证每条独立的执行路径都至少执行一次。

 

测试层次:

按测试对象:

单元测试:对程序单元进行正确性检验的测试工作。一个单元就是类的一个方法

集成测试(组装测试):对程序模块一次性或采用增量方式组装起来,对系统的接口进行正确性检验的测试工作

系统测试:

更关注不符合需求的缺陷和需求自身的内在缺陷

系统测试关注整个系统的行为

可分为:

功能测试

非功能测试

验收测试

安装测试

 

按测试目标:

功能测试:被测试软件的行为是否遵从软件需求规格的说明

α测试和β测试:在软件发布前,让小规模、有代表性的潜在客户试用。开发机构中进行(α),或用户处进行(β)

易用性测试:评价终端用户使用学习软件的难易程度、软件功能支持用户任务的有效程度,从用户的错误中恢复的能力

恢复测试:软件在“灾难”后的重启动能力

压力测试:以设计的最大负载运行软件,并超过最大负载运行软件,验证软件的负载能力

回归测试:变更系统后进行,重新执行已经测试过的系统用例子集,确保变更没有造成未预期的副作用

 

性能测试:针对性能需求进行验证

配置测试:分析软件在规格说明下的不同配置的行为

可靠性测试:验证和评价系统可靠性的测试

安全测试:验证系统内的安全保护机制不受非法入侵的能力

验收测试:按照客户的需求检查系统

安装测试:在目标环境中通过安装来验证软件

 

**软件测试的目的:

验证:是否正确地使用技术建立系统,如“编程错误”,“设计思路错误”,“文档书写错误”

确认:是否建立了正确的系统。如“文档是否反映需求”

验证与确认的手段:静态分析与动态测试(软件测试)

 

B级:

软件测试的目标:

①展示软件满足了需求:有效性测试

②找出缺陷与不足:缺陷测试

 

 

 

C级:

 

缺陷测试没有发现缺陷或数量远远少于历史数据:可能是测试活动不及格

缺陷测试发现缺陷或数量远远多于历史数据:可能是测试活动表现了较高的水平

 

缺陷:不正确的地方,如计算时可能除0

错误:执行了不正确的地方产生的不稳定状态,如执行除0

失败:错误产生的软件功能失效

 

测试的目标:发现尽可能多的错误

 

随机测试:瞎JB测试

 

测试活动:

测试计划

测试设计

测试执行

测试评价

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!