第二篇功能测试
测试应有的素质:5心2能力1精神
责任心、细心、耐心、专心、自信心。
沟通能力、表达能力、团队协作精神。
软件质量模型
软件质量
软件质量,就是软件与明确地和隐含地定义得需求相一致得程度。
质量模型
1.功能性:满足某种需求得一种属性或者能力
2.性能性:在规定条件下,相对于所用资源得数量,软件产品提供适当性能得能力
3.兼容性:在一定条件下兼容其他软硬件产品得能力
4.易用性:在指定使用条件下,产品被理解、学习、使用和吸引用户能力
5.安全性:
6.可靠性:在规定条件下,在规定时间内完成规定功能得能力
7.可维护性
8.可移植性
软件的生命周期
瀑布模型
可研与计划:公司高层、通过用户需求进行确认是否能够承接该项目(技术和财务)结论:可行性研究报告与计划【通过】
需求分析:产品人员,通过用户实际想法,将用户的想法转化为技术上可以实现的过程。结论:需求规格说明书(需求说明书):包含具体可以实现的功能点和非功能点。
概要设计:公司架构人员(高级技术人员),根据需求选择技术选型,选择环境及语言,制定开发规范标准等。结论:概要设计文档。
详细设计:普通的开发设计人员,根据需求结合概要设计进行详细的设计实现,结论:详细设计文档。
编码:开发人员根据详细设计文档进行编写代码。结论:程序原文档。
软件测试:测试人员根据需求进行全面测试,结论:测试报告(测试用例,缺陷报告)
运行维护:运维人员进行运行维护,结论:运维手册等文档。
瀑布模型优点
- 每个阶段比较清楚,并且有相应的文档产生
- 当前的一个阶段完成后,才进行后面的阶段(一次性)
瀑布模型缺点
- 发现问题的时机比较晚,失去提前纠错的机会
- 测试介入比较晚
适用场景
适用于需求不易发送变化的大项目
【扩展】敏捷开发模型
能够适用需求的变化、并且能够给出快速的响应
- 小步快跑
- ACP(美国企业证书)
软件测试模型
V模型
单元测试:开发进行代码级别的测试【开发】
集成测试:功能模块的组合测试类似于接口测试【测试】、代码模块测试【开发】
系统测试:按照需求进行整体测试过程【测试】
验收测试:用户/用户代表进行全产品的测试【用户】、实际公司产品测试【产品】
目的:描述开发和测试如何进行对应验证产品的过程
V模型优点
每个阶段比较清楚,测试过程由底层(代码)测试到高层(应用)测试的过程
V模型缺点
不适应需求的变更,发现问题的时机比较晚
W模型
W模型优点
- 测试伴随着整个产品开发周期,测试对象不仅是程序还有需求、设计文档
- 测试介入较早,及早发现问题,降低修复成本
W模型缺点
该模型应用起来复杂度高(具备计算机技能、业务能力、管理能力、测试素质)
测试用例
- 测试编号
- 测试标题
- 测试项目
- 优先级
- 前置条件
- 测试步骤
- 测试数据
- 预期结果
等价类划分法
等价划分法的引入
案例:如何测试两个两位数之间的和(-99到99求和)没有问题。
等价类划分法设计用例步骤
1.明确需求
(1)长度
(2)类型
(3)规则
2.划分等价类
3.编写测试用例
适用场景
需要大量的数据测试输入、但是没有办法穷举测试的地方。(如输入框、下拉列表、单选复选框).
典型代表:页面级的输入框测试。
错误推测法
错误推测法介绍
- 要求:有实际项目测试经验的人使用
- 定义:通过直觉(经验)或者智慧推测系统可能出现的问题的地方再次测试
适用场景
- 时间紧迫
- 时间宽裕
软件的缺陷
缺陷定义
软件在使用过程中存在的任何问题(错误\异常\失效等),都叫软件的缺陷,bug.
缺陷标准
1.少功能
2,多功能
3,隐藏功能
4.功能错误
5.易用性差
产生原因
1.需求阶段:需求描述不易理解\有错误
2.设计阶段:设计文档存在错误或者缺陷
3.编码阶段:代码出现错误
4.运行系统:软硬件系统本身故障导致软件缺陷
生命周期
核心内容[6]
- 缺陷标题
- 缺陷前置条件
- 缺陷复现步骤
- 缺陷预期结果
- 缺陷实际结果
- 缺陷必要附件
构成缺陷其他要素
- 缺陷编号
- 缺陷状态
- 缺陷所属模块
- 缺陷优先级
- 缺陷严重级
- 缺陷类型
缺陷类型
- 功能
- UI
缺陷状态
编写缺陷报告规范
1.可复现
2.唯一性
3.规范性
面试题
在实际测试中如果出现不可复现的bug怎么办?
- 经过多次复现后,还是没有出现,此时在本地记录当时的问题
- 回顾当时操作的流程及环境的配置要求,确认是否由于操作失误或者环境临时故障引起
- 请开发协助自己查找当前测试模块是否有对应的日志信息
- 再考虑换一套环境查看是否可以复现上述问题
针对tpshop商城项目
项目环境准备
B/S 浏览器与服务器
C/S 客户端与服务器
组成架构
软硬件组成-软件
前台:前端:普通用户负责系统开发的人员
后台:后端:负责为前端提供服务的后台应用系统开发人员
web浏览器常见的:apache,nginx,tomcat。
软硬件组成-硬件
安装步骤
可用测试环境
熟悉项目
熟悉项目标准
熟悉项目的核心模块
熟悉项目的核心业务流程
熟悉项目步骤
熟悉项目的依据
熟悉项目的信息来源:
1.已经存在的文档
- 需求说明书
- 设计文档
- 测试用例
- 用户使用手册
2.项目环境
- 开发环境
- 测试环境
- 生产环境
3.询问项目组相关人员
- 产品人员
- 开发人员
- 测试人员‘
- 项目负责人
熟悉项目核心业务
tpshop商城项目是一个单商品的购物商城,可以实现商品的线上销售活动。
核心业务流程主要有:
-
商品购买流程
-
商品发货流程
-
商品退换货流程
项目测试流程
需求评审
对于产品编写需求文档进行评审和评估的过程
职责:
- 读懂需求:确认自己对需求要有清晰的理解,没有疑惑
- 找出错误:确认需求文档完整,准确,能够指导后期工作
- 给出建议:对需求中不合理的地方提出自己的修改建议
编写测试计划和测试方案
实施测试过程中需要的设备、资源、时间等信息
测试计划的核心内容:【测什么,怎么测】
- 明确测试目标和测试范围【最终要达成的要求、测试多少】
- 执行计划的角色和职责【什么人干什么事】
- 任务的进度安排与资源分配【花费多长时间、需要哪些资源】
- 风险估计和应急计划【风险计划,比如没网了,没电了,可能遇到的风险和计划,比如人员可以备份之类的】
- 测试的准入/准出标准【什么时候开始、什么时候结束】
测试目标:
测试方案的核心内容:【怎么测】
- 测试策略【使用具体的方式方法、如何完成测试工作】
- 测试环境的规划【具体实施需要的测试环境】
- 测试工具的设计与选择【具体实施测试工作可能需要的一些工具】
测试用例设计和评审
根据需求将需要转化为具体可以验证的测试点
- 熟悉需求
- 编写测试用例
- 评审测试用例
- 执行测试用例
- 提交缺陷报告
测试执行并提交缺陷
根据评审之后的用例进行执行验证产品质量
编写测试报告
对于整体测试过程的总结和质量的说明
测试设计-tpshop功能测试-模块测试
单功能模块测试
功能测试基本要求-覆盖需求
1.需求文档、产品原型图、UI原型图。【UI】user interface[用户接口]
2.以用户角度、待测试软件的可见功能。
测试设计思路
1.熟悉需求
2.测试点整理
3.编写测试用例
4.评审测试用例
5.执行测试用例
6.缺陷跟踪