一、软件测试的基础知识
1.什么是软件测试?
- IEEE829将软件测试定义:“使用人工或自动手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果直接的差别。”
- 通俗的讲:软件测试就是验证软件产品特性是否满足用户需求。
2.软件测试的特点?
- 软件测试是一个样本试验,具有不可穷尽性。
3.软件测试的原则
- 测试的标准都是建立在用户需求之上的。
- 测试必须基于“质量第一”的思路去开展各项工作。
- 事先定义好产品的质量标准。
- 软件项目一启动,软件测试也就开始了。(不同的开发模型,测试介入的时间不同)
- 穷举测试是不可能的。
- 第三方进行测试会更客观,更有效。
- 软件测试计划是做好软件测试工作的前提。
- 重视测试用例。
(没有深入了解测试前,这些原则都只是要背的负担,哎~)
4.测试用例
- 测试用例概念:测试用例是为了实施测试而向被测的系统提供的一组集合,这组集合包含测试用力的四要素:测试环境、操作步骤、测试数据、预期结果。
5.软件测试分类
加个链接:测试分类
二、需求基本知识
1.需求
- 需求是衡量软件测试结果的依据
- 需求是:“满足用户期望或正式规格文档(合同、标准、规范)所具有的条件和技能,包含用户需求和软件需求。”
- 用户需求:顾名思义就是甲方提出来的需求。
- 软件需求:也就是功能需求,该需求会详细描述开发人员必须实现的软件功能。
- 需求是测试人员进行测试工作的依据。测试人员在设计测试用例前,首先有弄清楚每一个业务需求对应的多个软件功能测试点,然后分析每个软件功能需求点对应的多个测试需求点,,然后针对每个测试需求点设计测试用例。
三、软件错误(BUG)
当程序没有实现其最终用户合理预期的功能要求是,就是软件错误。
1.描述bug,包括但不仅限于以下方面
- 发现问题的版本
- 问题出现的环境
- 错误重现的步骤
- 预期行为的描述
- 错误行为的描述
2.bug的级别
- bug的定义每个公司都不一样,在定义级别之前需要查看公司规范。
- 一般有:blocker(崩溃)、critical(严重)、major(一般)、minor(次要)
3.bug的生命周期
加个链接:bug的生命周期