一、介绍
软件测试是为了尽可能多地发现软件系统中的错误而不是证明软件的正确性。
1、软件缺陷是什么?
软件在使用过程中存在的任何问题都叫软件的缺陷,简称bug。
缺陷的判定标准
软件未实现需求说明书中明确要求的功能——少功能
软件出现了需求说明书中指明不应该出现的错误——功能错误
软件是现实的功能超出需求说明书指明的范围——多功能
软件未实现需求说明书中虽未明确指明但应该实现的要求——隐性功能错误
软件测试人员认为软件难以理解,不易使用,运行缓慢,用户体验不好——不易使用
缺陷的等级可以划分为:轻微、一般、严重、致命。
2、软件测试的定义
软件测试是为了发现错误而运行程序的过程。
测试是使用人工或自动的手段来运行或检测某个系统的过程,其目的在于检验它是否满足约定的需求或是比较预期结果与实际结果的差别。
3、软件测试的目的
为了发现软件中的错误。
以检验软件是否满足用户需求为目标。
一个成功的测试是发现了至今尚未发现的错误。
4、软件测试的原则
(1)要尽早并且不断地进行测试
(2)测试用例应由测试输入数据及与之对应的预期输出结果两部分组成
(3) 程序员应避免检查自己的程序
(4) 设计周密的测试用例
(5) 注意测试中错误集中的现象
(6) 严格执行测试计划,排除测试的随意性
(7) 对测试错误结果一定要有一个确认的过程
(8) 妥善保存测试计划、测试用例、出错统计和最终分析报告
二、软件测试生命周期(过程)
软件测试是由测试计划、单元测试、集成测试、系统测试、验收测试等组成的。
1、测试计划
软件测试伴随在软件开发的整个生命周期。
软件生命周期:需求分析→系统设计→编码→软件测试→系统发布→软件运行使用→软件维护。
2、单元测试:最基本的测试活动,多采用 白盒测试 技术
测试对象软件设计的最小单位——模块。
单元测试的依据是详细设计,主要用于验证各个独立模块的功能正确性。
系统中多个模块可以并行地进行测试。
驱动模块: 负责提供测试输入,调用被测模块,并接收输出以验证功能正确性。
被测模块: 是单元测试的核心,直接被测试的代码模块。
桩模块: 用于模拟被测模块依