目录
基本的测试工作包含了以下几个主要环节:
- 了解我们的被测对象所具有的属性和功能,进行相应的测试方案设计;
- 执行测试,发现和提出缺陷,在RD修复缺陷后进行验证;
- 最后要给出测试是否终止,是否运行功能上线的结论,整理相应的测试报告对测试过程进行总结。
一、测试方案设计(如何学习测试用例设计?)
1.软件测试
- 在特定的调价你下运行系统或构件,观察或记录结果,对系统的某方面做出评价
- 分析某个软件项已知的和现存的、以及要求的条件的错误,并评价此软件项的特性
2.软件测试的基本原则
- 尽早并不断地进行软件测试
- 程序员或测试机构应避免测试自己所设计的程序
- 测试用例不仅要有输入数据,还要有与之对应的预期结果
- 测试用例不仅要有合法的输入数据,也要有非法的输入数据
3.软件测试的分类
1.按测试阶段或测试步骤来分
单元测试、集成测试、确认测试(验证软件有效性,确定功能特性是否满足软件需求规格说明的各项需求)、系统测试
确认测试中按测试的方式又有alpha测试和beta测试
2.按测试对象划分
单元测试、部件测试、配置项测试、系统测试
3.按使用的测试技术划分
静态测试、动态测试
动态测试又分为白盒测试和黑盒测试,白盒测试包括逻辑覆盖测试、域测试、程序变异测试、路径测试、符号测试等,黑盒测试包括功能测试、强度测试、边界值测试、随机测试等。
4.按软件质量特性划分
功能性测试、可靠性测试、易用性测试、效率测试、可移植性测试、维护性测试
5.按测试项目划分
功能测试、健壮性测试、恢复测试、人机界面测试、接口测试、强度测试、可用性测试、压力测试、性能测试、兼容测试、安全性测试、可靠性测试、安装测试、文档测试
二、测试缺陷管理(缺陷的定义、如何提缺陷以及验证缺陷?)
(1)缺陷标题:对发现的缺陷的简单总结。便于开发快速意识到这是一个问题。
(2)现象描述:仔细的描述缺陷的详情。通常需要包含预期结果、实际结果。如果有相关的数据库、接口参数、服务端日志等关键证据信息,那么也需要提供出来,开发可以根据这些信息快速定位问题,节约研发时间。
(3)复现步骤:需要说明在什么样的前置条件做了什么样的操作发现了该问题,方便开发复现问题。如要说明在什么样的测试环境、测试设备上执行的测试。
(4)缺陷等级:需要做出判断并选择相应的等级,通常的缺陷等级有Blocker(阻塞测试流程对缺陷), Critical(非阻塞但影响比较严重), Major(影响主功能的缺陷), Normal(一般缺陷), Trival(即使不修复也影响不大的缺陷)。开发可能同时在并行开发其他的需求,所以我们需要通过缺陷等级来将缺陷进行优先级分类,我们希望的是开发优先解决比较严重的问题,特别对于会阻塞测试进度的严重缺陷,我们应提升相应的缺陷等级。
1.软件缺陷的定义
一般来看,满足以下任意一种情况都可以被称为软件缺陷。
- 软件未达到产品说明书中标明的功能
- 软件出现了产品说明书中指明的不会出现的功能
- 软件超出了产品说明书中指明的范围
- 软件未达到产品说明书中指明应达到的目的
- 软件难以理解和使用、运行速度慢、或最终用户认为不好
2.发现缺陷后需要提交缺陷单
缺陷单包含缺陷标识(每个缺陷必须有一个唯一的标识)、
缺陷类型、
界面 | |
功能 | |
性能 | |
安全性 | |
数据 |
缺陷严重程度、
严重缺陷 | |
较大缺陷 | |
较小缺陷 | |
轻微缺陷 | |
其他缺陷 |
缺陷优先级、
立即解决 | |
高优先级 | |
正在排队 | |
低优先级 |
缺陷状态、
提交submitted | |
打开open | |
已拒绝rejected | |
已解决resolved | |
已关闭closed | |
重新打开reopen |
缺陷起源、
由于需求阶段引起的缺陷 |
由于构架阶段引起的缺陷 |
由于设计阶段引起的缺陷 |
由于编码阶段引起的缺陷 |
由于测试阶段引起的缺陷 |
缺陷来源
由于需求的问题引起的缺陷 |
由于构架的问题引起的缺陷 |
由于设计的问题引起的缺陷 |
由于编码的问题引起的缺陷 |
由于测试的问题引起的缺陷 |
3.验证缺陷
缺陷拥有自身的生命周期,确定的生命周期保证了过程的标准化。
三、测试报告总结(如何书写测试报告?)
测试报告中主要包含几个重要的部分:
(1)对需求从开始的评审到最终上线过程中关键节点的时间轴的梳理,发现研发过程中的瓶颈和dealy的环节。
(2)对测试过程以及上线中的缺陷的发生原因进行总结,并提出相应的改善意见,如果有特别典型的缺陷则需要重点说明和强调。
(3)如果项目迭代过程中有相应的质量数据积累,那么可以对比多个项目的质量数据情况,从中也会有所发现和收获。