Introduction
我的个人博客:https://phoenixnest.github.io/
本篇整理了一些我在近期复习软件测试期末考试时所整理的一些笔记。
所用教科书:《软件测试方法和技术(第三版)》 – 朱少民 • 清华大学出版社
(一) 引论
1.为什么要开展软件测试活动
(1) 软件测试是保证软件质量的重要手段,所有软件都会存在或多或少的问题,错误需要测试来发现,同时还需要测试来评估错误密度。
(2) 软件测试是软件质量保证的关键步骤,越早发现错误代价越低。
2.什么是软件测试
软件测试是验证和有效性确认构成的整体。
3.软件测试和开发的关系
测试活动在开发之后,测试与开发同步进行,最后再进行总的测试,没有开发就没有测试,不同的软件开发模型中,测试所处位置不同。
4.软件测试与质量保证的关系
软件测试和软件质量是对立统一的,软件测试既是找bug的,又能保证软件质量。对软件进行充分的测试才能够有效的保证软件质量,对软件产品进行充分测试,找出其中的缺陷。
(二) 软件测试基本概念
1.软件质量的定义
(1) 软件产品满足规定的和隐含的与需求能力有关的全部特征与特性
(2) 软件各种属性的组合程度
(3) 用户对软件产品的综合反映程度
(4) 软件在使用过程中满足用户需求的程度
2.软件缺陷的定义
(1)从产品内部
看,软件缺陷是软件产品开发和维护过程中所存在的错误、毛病等各种问题
。
(2)从外部
看,软件缺陷是系统所需要实现的某种功能的失效或违背
2.1 什么是软件缺陷
(1) 软件未实现产品说明书要求的功能。
(2) 软件出现了产品说明书提到不应该的错误。
(3) 软件实现了产品说明书未提到的功能。
(4) 软件未实现产品说明书未提到但应实现的目标
。
(5) 软件难以理解、不易使用、运行缓慢等问题。
2.2 修复.软件缺陷的代价
软件缺陷随着时间的推移所带来的成本越来越大。
3.软件测试的分类
单元测试 -> 集成测试 -> (功能测试) -> 系统测试 -> 验收测试
按测试层次
:
(1) 底层测试:单元测试。
(2) 接口层次:集成测试,完成系统内单元之间接口和单元集成为一个完整系统的测试。
(3) 系统测试:负载测试、压力测试、强壮性测试。
(4) 用户层次:验收测试,验收用户是否真正所需要的产品特性,验收测试关注用户环境、用户数据,用户也需要参与测试。
按测试对象
:
(1) 单元测试
(2) 程序测试
(3) 系统测试
(4) 文档测试
(5) Web应用测试、客户端测试
(6) 数据库测试、服务器测试
按测试目的
:
(1) 功能测试:黑盒和白盒测试
(2) 性能测试
(3) 压力测试
(4) 可靠性测试
(5) 安全性测试
(6) 兼容性测试
(7) 回归测试
按测试阶段
:
(1) 需求评审、设计评审
(2) 单元测试
(3) 集成测试
(4) 系统测试
(5) 验收测试:α测、β测
根据系统内部结构和具体实现算法角度分为黑盒测试和白盒测试两类