软件测试的定义
不断地将被测产品的预期结果和实际结果相对比,从而找到预期结果和实际结果之间的差异的过程,叫做软件测试。
预期结果:项目的需求文档中定义的结果。这就意味着软件测试必须依赖于需求,需要大家掌握需求分析能力。
实际结果:操作被测软件产品的出现的结果。
预期结果和实际结果之间的差异:缺陷(bug)
过程:有先后顺序的一系列动作的集合,叫做过程。
测试开发
基于测试理论,用开发使用的工具或代码完成自动化、接口、性能、测试框架等工作的过程
和开发的区别:
测试开发面向的是测试工作,目的是用自动化工具帮助测试工程师提高测试效率。而开发面向的是产品研发
测试开发代码难度相对较低,并且代码量会相对较少,压力相对较小
测试开发是开发里面最会找bug的,在测试里面最能写代码
软件研发的流程
1. 需求管理 需求获取、需求跟踪、需求分析、需求评审、需求变更
2. 系统设计 概要设计、详细设计
3. 编码过程
4. 测试过程 单元测试(unit testing)白盒测试、接口/集成测试(interface testing)、系统测试(system testing)黑盒测试
5. 项目验收 验收测试(α测试/内测和β测试/公测)
需求怎么来?谁来写?
需求来自于客户/用户,产品经理/负责产品的人
如何记录产品的需求?
需求规格说明书SRS
从测试的角度,如何保证需求的正确性?
关注点:需求的准确性(描述不能有歧义)、完整性。
系统应在不少于每10秒的正常周期内提供状态信息
不少于每10s:究竟是多少秒?
正常周期: 什么叫正常周期?有没有不正常周期?
系统应在不少于。。。:如果系统没有提供状态信息,该怎么办?
状态信息:状态信息包含哪些信息?
提供状态信息: 怎么提供?弹出框,跳转页面,还是手机短信?
HTML分析器可以产生HTML标记错误报告,帮助HTML入门者快速解决错误
可以产生: 是不是一定要产生?不产生是否算是错误的?
HTML标记错误报告:第一种理解是 HTML来“标记错误报告”,标记是一个动作 第二种理解是 “HTML标记” 的错误报告
HTML入门者: 入门者的定义是什么?什么叫入门者?
快速:什么叫快?什么叫慢?多快?
解决错误:解决问题,修改错误。
如何确保需求已经被测试覆盖完了?
文档《需求跟踪矩阵》 RTM
测试方案主要要做测试点分析
测试需求分析: 产品需求->测试需求->测试点->测试用例
数据字典
用户名:长度大于6位小于12位,必须包含字母和数字。
测试用例:用于指导具体的测试执行过程的文档
for i in range(31): 0-30 不包含31
缺陷管理流程 缺陷的生命周期管理
测试工程师提出缺陷 状态:new
测试组长或测试经理确认缺陷 状态:open
指派给相应的开发人员去修改缺陷 状态:fixed
指派给提交缺陷的测试工程师进行确认 状态:verfied
如果确认bug已经被修改成功 状态:close
如果确认bug仍然存在 状态:reopen
基于大家上周完成的电商系统的注册和登录模块
需求规格说明书
测试分析表
测试用例
填写缺陷报告
测试报告