软件测试基础笔记

2022-10-30 09:19:22 浏览数 (2)

软件测试基础笔记

目录

1、软件测试的分类

2、软件测试的原则

3、软件测试关键问题

1、软件测试的分类

1、按照开发阶段划分

(1)单元测试 - 模块测试,检查每个程序单元能否正确实现详细设计说明中的模块功能等。

(2)集成测试 - 组装测试,将所有的程序模块进行有序、递增的测试,检验程序单元或部件的接口关系。

(3)确认测试 - 证实软件是否满足特定于其用途的需求,是否满足软件需求说明书的规定。

(4)系统测试 - 检查完整的程序系统能否和系统(包括硬件、外设和网络、系统软件、支持平台等)正确配置、连接,并满足用户需求。

(5)验收测试 - 按照项目任务或合同,供需双方签订的验收依据文档进行的对整个系统的测试与评审,决定是否接受或拒收系统。

2、按照测试技术划分

(1)白盒测试 - 通过对程序内部结构的分析、检测来寻找问题。检查是否所有的结构及逻辑都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。

(2)黑盒测试 - 通过软件的外部表现来发现错误,是在程序界面处进行测试,只是检查是否按照需求规格说明书的规定正常实现。

(3)灰盒测试 - 介于白盒测试与黑盒测试之间的测试,关注输出对输入的正确性。

3、按照测试实施组织划分

(1)开发方测试 - 开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求,在开发环境下,开发方对提交的软件进行全面的自我检查。

(2)用户测试 - 在用户的应用环境中,用户通过运行软件,检测软件实现是否符合自己预期的要求,这里指用户的使用性测试。

(3)第三方测试 - 介于软件开发方和用户方之间的测试组织的测试。

2、软件测试的原则

1、完全测试的不可能性

(1)输出量太大。

(2)输出结果太多。

(3)软件执行路径太多。

(4)软件说明书是主观的,没有客观标准。

2、软件测试是有风险的

(1)把数量巨大的可能测试减少到可以控制的范围。

(2)针对风险做出明智的选择,哪些测试重要,哪些不重要。

3、无法显示潜伏的软件缺陷和故障,可以一直测试,但不能保证软件缺陷不存在

4、充分注意测试中的群集现象,缺陷可能成群出现

(1)程序员问题。

(2)有些软件故障可能只是冰山一角。

5、杀虫剂现象

(1)软件测试越多,对测试的免疫力越强,寻找更多软件缺陷就更加困难。

(2)克服办法 - 在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。

6、其他现象

(1)并非所有的软件缺陷都要修复。

(2)难以描述的软件缺陷。

7、80-20原则

(1)80%的软件缺陷常常生存在软件20%的空间里。

(2)在系统分析、设计、实现阶段的复审工作中能够发现和避免80%的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的15%,最后的5%的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。

(3)实践证明80%的软件缺陷可以借助人工测试而发现,20%的软件缺陷可以借助自动化测试能够得以发现。

8、软件测试必须有预期结果,软件缺陷是经过对比而得出来的,没有预期结果的测试是绝不可以的

3、软件测试关键问题

1、测试由谁执行

(1)通常由开发者负责完成第一阶段的代码单元测试,而系统测试则由独立的测试人员或专门的测试机构进行。

(2)按照测试实施组织划分,软件测试可分为开发方测试、用户测试(β测试)、第三方测试。

2、测试什么

(1)软件产品的组成。

(2)软件开发过程中产生的需求分析、概要设计、详细设计以及编码等各个阶段所得到的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序,都是软件测试的对象。

(3)第一阶段,单元测试阶段:在每个模块编写出以后所做的必要测试。

(4)第二阶段,综合测试阶段:即在完成单元测试后进行的测试,如集成测试、系统测试、验收测试等。

3、软件测试中的误区

(1)误区1 - 调试和测试是一样的。

(2)误区2 - 软件测试对象就是程序。

(3)误区3 - 软件测试是测试人员的事情,与开发人员无关。

(4)误区4 - 好的软件质量是通过测试得到的。

(5)误区5 - 把不合格的开发人员安排做测试。

(6)误区6 - 关注于测试的执行而忽略测试的设计。

(7)误区7 - 测试自动化是万能的。

(8)误区8 - 测试是为了证明软件的正确性。

0 人点赞