软件测试
https://www.bilibili.com/video/BV1hg411V7Bm/?p=78
1)V模型
2)软件测试过程
单元测试 模块测试
模块编写完成且无编译错误后进行。
由程序员对自己编写的模块自行测试,主要发现编程和详细设计中产生的错误,测试计划应该在详细设计阶段制定。
一般使用白盒测试法。
集成测试
把模块按系统设计说明书的要求组合起来进行测试。
对由各模块组装而成的程序进行测试,主要目标是发现模块间的接口和通信问题。
集成测试主要发现设计阶段产生的错误,集成测试计划应该在概要设计阶段制定。(黑盒测试)
确认测试
检查软件的功能、性能和其他特征是否与用户的需求一致,它是以需求规格说明书作为依据的测试,软件确认测试首先要进行有效性测试及软件配置审查,然后进行验收测试。
经过管理部门的认可和专家的鉴定后,软件即可交给用户使用。(黑盒测试)
系统测试
把软件放在实际的硬件和网络环境中进行测试,主要测试软件的非功能需求和质量属性是否得到满足。
常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。(黑盒测试)
3)黑盒测试
(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:测试用例
以下流程图中,至少设计()个测试用例可以分别满足语句覆盖和路径覆盖。
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个测试用例;