文章目录
测试执行过程
测试执行阶段的主要任务
- 确定测试用例的优先级
- 开发测试规程并确定优先级,创建测试数据,同时也可以准备测试用具和设计自动化测试脚本
- 根据测试规程创建测试套件,以提高测试执行的效率
- 确认已经正确搭建了测试环境
- 根据计划的执行顺序,通过手工或使用测试工具来执行测试规程
- 记录测试执行的结果,以及被测软件、测试工具和测试件的标识和版本
- 将实际结果和预期结果进行比较
- 对实际结果和预期结果之间的差异,作为事件上报,并且进行分析以确定引起差异的原因
- 缺陷修正后,重新进行测试活动
测试准入、暂停、准出标准
测试准入标准
- 开发编码结束,并在开发环境已完成单元测试
- 需求上规定的功能均已实现,如没有完全实现,请提供测试范围
- 已完成集成测试,被测系统的基本流程可以走通,界面上的功能均实现,经过代码评审并符合软件编码规范
- 开发提交最新版本代码,以此为基线,提交并通知测试组进行测试
- 兼容性测试要求明确
- 安全测试和性能测试范围和要求
测试暂停、停止
- 测试人员先进行冒烟测试,若发现重大缺陷或bug过多时、或者流程卡壳导致基本流程无法走通,测试无法正常执行,可以暂停测试并返回开发
- 被测项目需调整而暂停的,测试也相应暂停
- 存在其他优先级更高的任务时,可以向领导申请暂停测试
- 被测系统经过系统测试,达到系统准出标准,可以停止测试
测试准出标准
软件缺陷
什么是缺陷
缺陷是一种泛称,它可以指功能的错误,也可以指性能低下,易用性差等。
并不是所有的测试人员都能提交被开发认可的缺陷,也不是测试人员在任何时候都能提交被开发认可的缺陷。
什么是软件缺陷
- 软件未达到产品说明书标明的功能
- 软件出现了产品说明书指明不会出现的错误
- 软件功能超出产品说明书指明范围
- 软件未达到产品说明书虽未指出但应达到的目标
- 软件测试人员认为软件难以理解、不易使用、运行速度慢,或者最终用户认为不好
缺陷产生的原因
发现缺陷
- 用户体验不够好
- 界面上有明显的错误信息
- 功能不完备,没有按照需求说明编写代码,致使某些功能缺失
- 功能不完善,不能正常运行或者运行的过程中出现程序崩溃、停止运行的情况
- 逻辑不正确,与需求说明书、测试用例不符
- 模块之间的交互性不好,与其他的模块做集成测试时遇到问题
- 程序的性能不够好,不能承载压力考验
BUG重现
- 不要想当然地接受任何假设,要做好记录
- 查找事件依赖和竞争条件的问题
- 边界条件软件缺陷、内存泄露和数据溢出等白盒问题可能会慢慢自己显露出来
- 状态缺陷仅在特定软件状态中显露出来
- 考虑资源依赖性和内存、网络、硬件共享等相互作用
无法重现的bug
- 首先,应当对这样的缺陷进行详细的记录,并尽快提交给开发人员
- 其次,对于寻找难以再现的缺陷要合理地安排时间,要考虑到测试项目的整体进度,对一时难以再现的缺陷可以暂时搁置,以保证项目的正常进度
- 最后在测试过程中对未再现缺陷予以关注
缺陷报告
什么是缺陷报告
缺陷报告说对缺陷进行记录、分类和跟踪的文档。
软件测试人员的任务之一就是书写良好的软件缺陷报告。
提供准确、完整、简洁、一致的缺陷报告是体现软件测试的专业性、高质量的主要评价指标。
通常,缺陷报告的直接读者是软件开发人员和质量管理人员,除此之外,来自市场和技术支持等部门的人也可能需要查看缺陷情况。
缺陷报告包含信息
- 易于搜索软件测试报告的缺陷
- 报告的软件缺陷进行了必要的隔离,报告的缺陷信息具体、准确
- 软件开发人员希望获得缺陷的本质特征和复现步骤
- 市场和技术支持等部门希望获得缺陷类型分布以及对市场和用户对影响程度
缺陷报告对写作准则(5c)
- Correct ( 准确 ) :每个组成部分的描述准确,不会引起误解
- Clear ( 清晰 ) :每个组成部分的描述清晰,易于理解
- Concise ( 简洁 ) :只包含必不可少的信息,不包括任何多余的内容
- Complete ( 完整 ) :包含复现该缺陷的完整步骤和其他本质信息
- Consistent( 一致 ) :按照一致的格式书写全部缺陷报告
缺陷报告的组织架构
- 缺陷的标题
- 缺陷的基本信息
- 测试的软件和硬件环境
- 测试的软件版本
- 缺陷的类型
- 缺陷的严重程度
- 缺陷的处理优先级
- 复现缺陷的操作步骤
- 缺陷的实际结果描述
- 期望的正确结果描述
- 注释文字和截取的缺陷图像
缺陷标题
- 尽量按缺陷发生的原因与结果的方式书写(“执行完a后,发生b”或“发生b,当a执行完后”)
- 避免使用模糊不清的词语,例如“功能中断”、“功能不正确”、“行为不起作用”等。应该使用具体文字说明功能如何中断,如何不正确,或如何不起作用
- 为了方便搜索和查询,请使用关键字
- 为了便于他人理解,避免使用术语、俚语或过分具体的测试细节
缺陷的基本信息
复现步骤
复现步骤包含如何使别人能够很容易的复现该缺陷的完整步骤。为了达到这个要求,复现步骤的信息必须是完整的、准确的、简明的、可复现的。但是实际软件测试过程中,总是存在一些不良的缺陷报告,主要的问题在于多余步骤、可读性差、难以理解、缺失步骤等
- 提供测试的预备步骤和信息
- 简单地一步一步地引导复现该缺陷
- 每一个步骤尽量只记录一个操作
- 每一个步骤前使用数字对步骤编号
- 尽量使用短语和短句,避免复杂句型和句式
- 复现的操作步骤要完整,准确,简短
- 没有缺漏任何操作步骤
- 每个步骤都是准确无误的
- 没有任何多余的步骤
- 将常见步骤合并为较少步骤
- 只记录各个操作步骤是什么,不需要包括每个步骤的执行结果
缺陷报告注意事项
- 缺陷报告已经向读者包含完整、准确、必要的信息了吗?
- 一个缺陷报告中是否只报告了一种缺陷?
- 读者是否能容易的搜索该缺陷?
- 步骤是否可以完全复现而且表达清楚吗?
- 是否包含了复现该缺陷需要的环境变量或测试所用的数据文件?
- 缺陷的标题是按照原因与结果的方式书写的吗?
- 实际结果和期望结果是否描述不够清楚而容易引起歧义吗?
缺陷报告原则
- 组织
- 重现
- 隔离
- 归纳
- 对比
- 总结
- 精简
- 消除歧义
- 中立
- 检查
缺陷流程
缺陷跟踪-----禅道项目管理
缺陷跟踪管理系统
早期的缺陷跟踪大都是以缺陷记录单的形式完成,现在还有很多项目还用此方法,但是随着用户对软件功能需求的不断增加,软件算法和复杂度都发生了很大变化,随之而来的是软件缺陷的增长,这给缺陷跟踪带来了很大挑战,所以我们使用禅道。
软件介绍
禅道是一款基于Scrum思想并集产品管理、项目管理、测试管理于一体,同时还包含了事务管理、组织管理等诸多功能等项目管理软件。
用户角色
- 系统管理员(admin):系统管理员主要负责添加用户,分配权限
- 产品人员(product owner):产品人员主要负责产品管理
- 项目经理(project manager):通过项目,协调产品人员、开发人员、测试人员完成产品
- 开发人员(developer):开发人员负责产品的研发
- 测试人员(qa):测试人员保证产品的质量
最简使用
- 只使用禅道来进行产品管理
- 使用禅道来进行项目任务管理
- 只使用禅道来做bug管理
- 个人使用禅道来做事务跟踪管理
项目模式基本流程
- 产品经理创建产品
- 产品经理创建需求
- 项目经理创建项目
- 项目经理确定项目要做的需求
- 项目经理分解任务,指派到人
- 测试人员测试,提交bug
易用性测试
易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的。
易用性和可用性存在一定的区别,可用性时指是否可以使用,而易用性是指是否方便使用。
易用性测试内容
易用性测试包括针对应用程序的测试,同时还包括对用户手册系统文档的测试,通常采用质量外部模型来评价易用性,包括如下方面的测试:
- 易理解性
- 易学习性
- 易操作性
- 吸引性
- 依从性
易用性测试方法——导航测试
通过考虑下列问题,可以决定一个应用系统是否易于导航:
-
导航是否直观?
-
系统的主要部分是否可通过主页存取?
-
系统是否需要站点地图、搜索引擎或其他的导航帮助?
易用性测试方法——图形测试
在应用系统中,适当的图片和动画既能起到广告宣传的作用,也能起到美化页面的功能。
一个应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。
- 要确保图形有明确的用途,图片或动画不要胡乱堆在一起,以免浪费传输时间
- 应用系统的图片尺寸要尽量的小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面
- 验证所有页面字体的风格是否一致
- 背景颜色应该与字体颜色和图形颜色相搭配
- 图片的大小和质量也是很重要的一个因素,一般采用 jpg 和 GIF 压缩
易用性测试方法——整体界面测试
整体界面是指整个应用系统的页面结构设计,是给用户的一个整体感。例如:
-
当用户浏览应用系统时是否感到舒适?
-
是否凭直觉就知道要找的信息在什么地方?
-
整个应用系统的设计风格是否一致?
测试点总结
兼容性测试
兼容测试简称 CTS , 指对所设计程序与硬件、软件之间的兼容性的测试。
一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。
对于测试来说,通俗一点的理解可以认为是被测软件在不同的硬件平台、不同的软件、不同的操作系统平台、不同的网络环境中是否能友好运行的测试。
兼容性测试分类
兼容性测试作用
- 兼容性测试能够进一步耦提高产品的质量,提高用户体验
- 兼容性测试能使软件与尽可能多的其他软件“和平共处”,尽可能达到平台无关性
- 兼容性测试能尽可能保证软件存在的价值,它是一个衡量软件质量的重要指标
- 兼容性测试能使软件产品的市场更广阔
测试方法
- 人工测试:测试工程师测试主流浏览器和常用操作系统测试主流程和主界面,看看主流程和主界面是否有问题
- 第三方测试工具:部分情况下,部分浏览器可以依赖第三方工具辅助测试
测试选型
- Chrome :webkit内核 & blink内核
- Firefox :最新版本
- ie :7-11
- Safari:Mac版本单独测试
- edge:windows10
- 360安全浏览器(双核版)
- 搜狗等其他浏览器任选其一
- Linux下的Firefox、ChromeOS下的Chrome
第三方工具
- IETESTER :ie兼容性测试,但是后期维护乏力,对浏览器支持不足
- BrowserShots : 通过在线截图的方式展现页面的兼容性,限制在于只通过输入网址的方式查看,对于还未上线,测试中的网站比较难以使用
- SuperPreview : 由微软推出,它的目标是集成IETESTER和BrowserShots的功能,但是目前还没有完善