软件测试基础
作者:互联网
一、基础部分
测试的定义、测试的目标、测试的类型、测试的方法、测试报告、测试的执行与跟踪、缺陷的定义、缺陷的生命周期、缺陷的管理、开发周期流程、测试周期流程、测试用例设计方法。
二、通用进阶部分
测试计划、测试策略、测试效率、风险管理、进度管理、质量管理、成本管理、交付质量、自动化开发。
基础阶段
1、测试的定义
通过人工或自动的手段,对被测对象进行检测的活动,目的在于发现被测对象是否实现用户的需求,或者弄清实际结果与预期结果之间的差异。(测试代码、用户手册、配置数据)
2、测试的目的
①发现被测对象与用户需求间的差异——俗称找Bug;
②通过测试活动发现或解决缺陷,增加人们对被测对象的质量信心;
③通过测试活动获取被测对象的质量信心,为决策提供数据依据;
④通过测试活动,预防缺陷,从而降低项目或产品的风险。
3、软件测试的原则
①测试证明软件存在缺陷;
②不可能执行穷尽测试;
③测试应该尽早启动,尽早介入;
④缺陷存在群集现象;(二八原则)大部分缺陷集中在20%的核心功能上
⑤杀虫剂悖论(一次性)不断变化测试方法,发现更多的问题;
⑥不同的测试活动依赖不同的测试背景;
⑦不存在缺陷谬论。
4、测试对象
①软件源代码
②与软件源代码匹配的文档
③支撑软件源代码运行的配置数据
- 需求阶段——需求文档——测试需求文档是否实现了用户的需求 ;
- 系统设计阶段——概要设计文档、详细设计文档——是否有设计或逻辑上的错误;
- 编码阶段——测试源代码——发现编程上的错误;
- 系统测试阶段——被测对象是否满足用户需求。
5、测试级别/阶段
①组件单元测试(开发人员写)
针对被测系统最小的组成单元实施的测试活动,一般是类或函数,也可能是最小的功能单元。
②集成测试(3种:函数间集成、模块间集成、子系统间集成)
针对模块间的接口进行测试,验证接口设计是否与设计相符。
③系统测试(黑盒测试)
将通过集成测试的软件,部署在真实的用户环境下执行测试。
④验收测试(用户来测)——给用户建立信心
以用户为主的测试,验收组应该由项目组成员、用户代表组成。
- 阿洛法测试:由用户在开发环境下执行的测试活动,开发者在测试人员身边,发现问题及时解决,在受控环境下的测试。
- beta测试:开发者不在测试人员身边,发现问题由专人统一收集,再由研发人员进行修改,在不受控环境下执行的测试。
- UAT测试 :(用户接受度测试)一般商业用户验证系统可用性进行测试
单元测试能发现80%的缺陷;
系统测试效率高,应用多。
6、系统测试的类型
①功能测试
在指定条件下,使用被测对象,验证其是否满足用户显性或隐性需求
关注点:
- 是否有不正确或遗漏或多余的功能;
- 满足系统显性或隐性需求;
- 是否对输入输出作出正确的响应,输出结果能否正确的显示。
②性能测试(Jemeter、Loderrunner)
通过模拟被测对象运行的业务压力或使用场景,验证被测对象是否满足预先设定的性能指标。
关注点:
- 验证系统是否有宣称的能力;
- 了解测试系统典型场景,并具备确定性能指标;
- 要求在真实的环境下实施。
③安全性测试
测试对象的安全保护机制保护系统不受非法侵入,能够接受正确授权的操作。
④兼容性测试
验证被测对象在不同操作系统、硬件信息等环境下运行情况。
7、测试方法
①黑盒测试
不关注被测对象内部结构,仅从用户需求考虑,是否满足用户显性或隐性需求
②白盒测试(又称“结构测试”/“逻辑驱动测试”)
③灰盒测试
既关注被测对象的外部特性,又关注其内部设计。
④静态测试
不执行被测对象程序,不运行被测对象的测试方法。
⑤动态测试(执行被测对象,进行检测活动)
阅读需求编写测试用例——评审测试用例——搭建环境执行测试用例——编写测试报告
⑥手工测试(通过测试工程师试用,验证被测对象是否满足用户需求)
通过模拟终端用户的流程测试软件系统,检测被测对象的实际表现。
⑦自动化测试(通过自动化测试工具,或脚本语言自动化完成测试进程)
优点:代替重复性工作 缺点:无法发现新问题
8、软件质量(满足特定的国家标准,满足用户显性或隐性要求)
①内部质量:软件内部的设计和静态测试是否合格;
②过程质量:软件生产过程是否规范;
③外部质量:软件产品功能、性能的表现;
④使用质量:满意度。
软件六大特性:功能性、可靠性、易用性、效率、可移植性、可维护
标签:被测,是否,基础,用户,对象,测试,缺陷,软件测试 来源: https://blog.csdn.net/Yansky58685/article/details/100176785