软件测试

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1hg411V7Bm/?p=78

1)V模型

V模型.png


2)软件测试过程

单元测试 模块测试

模块编写完成且无编译错误后进行

程序员对自己编写的模块自行测试,主要发现编程和详细设计中产生的错误,测试计划应该在详细设计阶段制定

一般使用白盒测试法。


集成测试

把模块按系统设计说明书的要求组合起来进行测试。

对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题

集成测试主要发现设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。(黑盒测试


确认测试

检查软件的功能、性能和其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试,软件确认测试首先要进行有效性测试及软件配置审查,然后进行验收测试。

经过管理部门的认可和专家的鉴定后,软件即可交给用户使用。(黑盒测试


系统测试

把软件放在实际的硬件和网络环境中进行测试,主要测试软件的非功能需求和质量属性是否得到满足

常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。(黑盒测试


3)黑盒测试

黑盒测试和白盒测试.png

(1)语句覆盖。

被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。


(2)判定覆盖。

分支覆盖,判定表达式至少获得一次真、假值。

判定覆盖比语句覆盖强。


(3)条件覆盖。

每个判定语句中的每个逻辑条件的各种可能值至少满足一次。


(4)路径覆盖。

覆盖所有可能的路径。


(5)判定/条件覆盖。

每个条件所有可能的值(真/假)至少出现一次,且每个判定本身的判定结果(真/假)也至少出现一次。


(6)条件组合覆盖。

每个判定中条件的各种可能值的组合都至少出现一次。


(4)测试原则与注意事项

https://www.bilibili.com/video/BV1hg411V7Bm/?p=79

测试基本原则

尽早并不断的进行测试,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。


测试工作应该避免由原开发系统软件的人或小组承担,这样才可以更加彻底地进行测试。


设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。


在设计测试用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。


在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。


严格按照测试计划来进行,避免测试的随意性。


妥善保存测试计划、测试用例,作为系统软件文档的组成部分,为维护提供方便。


测试用例都是精心设计出来的,可以为重新测试或追加测试提供方便。


考点1:软件测试的类型

黑盒测试不能发现()问题。

A、不正确或遗漏的功能

B、初始化或终止性错误

C、内部数据结构无效 √

D、性能不满足要求

解析:

白盒测试要了解里面内部的结构,黑盒测试不知道里面的内部结构


考点2:测试原则和注意事项

以下关于软件测试的叙述中,正确的是()。

A、软件测试的目的是为了证明软件是正确的

B、软件测试是为了发现软件中的错误 √

C、软件测试在软件实现之后开始,在软件交付之前完成

D、如果对软件进行了充分的测试,那么交付时软件就不存在问题了


考点3:测试用例

以下流程图中,至少设计()个测试用例可以分别满足语句覆盖路径覆盖

考点 测试用例.png

A、1和2

B、1和4 √

C、2和2

D、2和4

解析:

语句覆盖:

判断1和判断2都为Y分支的时候算1个测试用例;


路径覆盖:

判断1和判断2都为Y分支的时候算1个测试用例;

判断1和判断2分别为Y分支和N分支算1个测试用例;

判断1和判断2分别为N分支和Y分支算1个测试用例;

判断1和判断2分别为N分支和N分支算1个测试用例;