一、测试流程:
1、黑盒测试流程
需求分析-->编写测试计划和测试方案(一般是领导做)---->设计测试用例及评审---->配置环境---->执行测试用例---->回归测试及缺陷跟踪---->输出测试报告
2、自动化测试流程
将功能用例转化为自动化(功能用例模板新增一列是否自动化)-->搭建自动化测试环境-->设计自动化测试项目的框架(PO模式+数据驱动+log+HTMLRunner)-->编写脚本-->执行脚本-->生成测试报告并分析结果和log
二、需求分析
1、目的:就是梳理清楚需要测试的点
2、需求来源:需求规格说明书,API文档、竞品分析、个人经验
3、输入分析
(1)输入内容
(2)输入长度
(3)输入类型
(4)输入是否为空
(5)输入是否可重复
(6)输入是否可包含空格
4、处理分析
(1)正常处理
(2)异常处理
5、输出分析
(1)前台
(2)后台
(3)数据库
三、测试方案
(1)测试策略/测试方法
(2)测试环境的规划
(3)测试工具的设计和选择
四、测试计划
(1)明确的测试目标和测试范围
(2)执行计划的角色和职责
(3)任务的进度安排和资源分配
(4)风险估计和应急计划
(5)测试的各项标准
五、测试用例
1、用例内容
用例编号(项目名称+用例属性+用户管理+编号)---->测试标题---->优先级---->测试模块---->预置条件---->执行步骤---->输入数据 ---->预期结果
2、用例状态
1.排队(In Queue):测试用例已经指定给某个测试人,不准备在这一个测试阶段运行。
2.进行中(IP):该测试正在进行,并且会持续一段时间。
3.阻塞(Block):一些因素会导致测试不能进行到底,例如某个功能欠缺或者测试环境的某个部分欠缺。即,希望运行测试,但是目前还不能运行测试。
4.跳过(Skip):你决定在当前测试阶段跳过某个测试,可能是因为它的优先权相对较低。即,现在可以运行这个测试,但是我不想运行它。
5.通过(Pass):测试运行结束,测试人得到了预料中的测试结果状态和测试行为。
6.失败(Fail):在很多情况下,测试人得到预料之外的测试结果,状态或行为,这些结果与测试目标相差甚远。这就引发了关于系统质量的疑问。一个或多个测试错误需要记录下来。
7.警告(Warn):在很多情况下,测试人得到预料之外的测试结果,状态或行为,但是这些结果与测试目标差别不是很大
8.关闭(Close):一个测试在第一个循环中被标为失败或警告,第二个测试发布中将第一个测试循环出现的错误修改了。重新运行了整个测试用例后,没有错误出现。将这类测试标记为关闭而不是通过,使得你可以跟踪测试在某一个测试发布中失败的实事
六、BUG
1、BUG的声明周期
提交->确认->修复->验证->关闭
2、BUG必填字段:
bug编号=>bug严重级别=>bug产生的模块=>bug对应的版本=>bug详细现象描述,包括一些截图、录像....等等=>bug出现时的测试环境,产生的条件即对应操作步骤=>bug出现频率=》bug状态(新提交、已修复、未修复等)=》提交日期=>提交人=>指定处理人
3、缺陷状态:
new:缺陷尚未正式进入缺陷管理流程时定义为new
open:经过确认确实是bug时,正式进入管理流程
Rejected(被拒绝):被确认为不是bug
Postponed(延期)
fix:已修复
close:bug经过校验 确认已修复,无需处理时,关闭bug
reopen:经校验仍然存在
七、配置环境
1、环境:指的就是当前被测对象运行所需的执行环境,作为测试人员需要具备配置环境的能力(一般情况下都会使用一键安装的集成环境)
2、环境分类:操作系统+服务器软件+数据库+软件底层代码的执行环境
八、软件测试
1、软件测试
用手工或自动化手段来检测软件的错误和缺陷的过程
2、软件测试目的
就是以最少的人力物力和时间找出软件中潜在的各种错误和缺陷并修改来提高软件质量。减少商业风险
九、软件测试分类
十、给一个网站如何测试
主要分为功能测试、界面/易用性测试、接口测试、性能测试、安全测试
十一、划分缺陷与错误严重性和优先级别
(1)严重性表示软件缺陷所造成饿危害和恶劣程度。
(2)优先级表示修复缺陷的重要程度和次序。
严重性:(1)、严重:系统崩溃、数据丢失、数据毁坏
(2)、较严重:操作性错误、结果错误、遗漏功能
(3)、一般:小问题、错别字、UI布局、罕见故障
(4)、建议:不影响使用的瑕疵或更好的实现。
优先级:(1)、最高优先级:立即修复,停止进一步测试。
(2)、次高优先级:在产品发布之前必须修复。
(3)、中等优先级:如果时间允许应该修复。
(4)、最低优先级:可能会修复,但是也可能发布。
十二、软件质量
1、功能性:软件需要满足用户显式和隐式的功能
2、易用性:软件易于学习和上手使用
3、可靠性:软件必须实现需求当中指明的功能
4、效率性:类似于软件的性能
5、可维护性:要求软件具有将某个功能修复之后继续使用的能力
6、可移植性:当前软件可以从一个平台移植到另一个平台去使用的能力