1. 测试理论
良好的测试理论基础,能够撰写优秀的测试文档,进行高效的测试实践
[ ] 能够写出优秀的测试计划:突出测试重点和测试场景,选择合适的测试方法和策略
[ ] 能够写出优秀的测试报告:用例执行和缺陷总计、需求的能力描述、需求潜在的风险
[ ] 能够写出优秀的测试用例:标题够简洁直接、步骤和期望值清晰、前置条件明确
[ ] 能够写出准确的缺陷报告:标题,重现步骤,失败的用例步骤。。。
[ ] 知道软件的生命周期、软件产品从零到有、软件开发都需要什么样的角色
有多种类型软件测试的经验,能够胜任各个阶段的软件测试工作
[ ] 有 WEB 和 APP 测试经验
[ ] 有 系统测试 验收测试 冒烟测试 集成测试 的经验
[ ] 知道 这些经验的坑: WEB 和 APP 测试的不同侧重点
[ ] 知道 不同的测试阶段,要求不同的测试重点
掌握多种测试设计的方法,有常用的测试套路结合设计方法进行用例编写
[ ] 测试设计方法:等价类、边界值、正交试验法、流程法、判定表
[ ] 根据你掌握的测试设计方法,可以现场举例子:根据一个需求写测试用例
[ ] 综合的使用测试设计方法,完成对需求的测试计划
有效的管理测试用例,能够实施多个版本和回归测试的测试用例库和用例套件管理
[ ] 多个版本的产品,能够按执行版本执行测试用例,禅道|测试|版本
[ ] 能够在禅道中创建测试用例库,根据测试用例库,快速的完成测试用例
[ ] 明白测试套件的作用,可以在自动化测试和接口中使用测试套件
[ ] 可以在回归测试中,使用禅道的测试套件
[ ] 明确测试用例的编号的作用,追踪缺陷,管理好测试用例
理解软件质量模型,并根据软件质量模型进行软件测试实施的模型建设
[ ] 明白软件质量模型的6大特性是什么
[ ] 根据软件质量的6大特性,结合需求,划分出来需求的测试范围
[ ] 根据软件质量的6大特性,结合产品,划分出来产品需要进行的测试类型
2. 项目实践
具有多个基于 Scrum 的敏捷项目的测试实践,具有驱动敏捷测试的背景能力
[ ] 懂得敏捷测试的大概流程和特点,知道 Scrum 框架:3个角色,仪式、术语
[ ] 知道敏捷测试的关键点:需求划分任务、需求分解用例、迭代的长度
[ ] 懂得敏捷测试对测试人员的要求:会自动化测试?懂代码?测试文档有什么不同?
[ ] 具备在敏捷测试中的优势:会代码、讲究效率、禅道清楚
使用禅道结合敏捷项目管理,将项目的迭代与测试管理同步进行
[ ] 禅道的产品、建需求、需求评审、需求的版本
[ ] 产品的流程配置:开发+测试?只有测试?
[ ] 禅道的权限管理
[ ] 禅道配置流程:产品项目测试?产品迭代测试?
[ ] 产品的计划和路线图
[ ] 迭代的需求、需求分解任务、任务录入工时、燃尽图
[ ] 需求分解测试用例、测试用例在测试版本的执行
[ ] 测试套件的使用
了解敏捷项目的软件测试度量标准,能够推动现有项目专项敏捷的实践
[ ] 自动化测试的用例在总的用例中所占的比例,不同的测试阶段比例不同
[ ] 什么样的缺陷务必在该迭代中修复,哪些是可以在以后的迭代中完成
[ ] 明白测试度量的作用:评估团队的能力;评估产品的能力
[ ] 缺陷漏测率:( 客户发现的 Bug ) ÷ ( 团队发现的 Bug + 客户发现的 Bug )
根据用户故事和需求验收标准展开分析,拆分任务,编写测试用例执行敏捷测试
[ ] 懂得用户故事的写法
[ ] 会用禅道根据需求,分解成任务:指派(认领)、估计时间、录入工时
[ ] 禅道根据需求,分解测试用例
[ ] 会用禅道进行提测、在测试版本中关联用例:按需求关联、按测试套件关联
具有在项目中对软件缺陷进行定位和分析的能力,辅助开发人员分析 Bug 的复现规律,查找原因
[ ] 有自己的套路,对缺陷进行分析和定位:根据场景找出问题的地方、根据前端、数据库、抓包来分析
[ ] 总结缺陷的复现的规律
[ ] 归纳汇总类似的Bug:同一种操作,同一处控件
[ ] 很好的跟踪Bug,与开发人员保持良好的沟通
[ ] 在找到比较密集的需求中找到密集的Bug,那就继续找,还有Bug。Bug的集中分布原理。
3. 测试方法
有比较丰富的软件测试手段,具备多种测试方法相结合的测试思路和测试执行能力
[ ] 习惯用两种或者两种以上的测试方法进行结合,来解决问题
[ ] 可以用的测试方法:目测、写SQL语句检查数据、抓包、用Python写基础的工具、用Linux去检查
[ ] 可以做的测试方法:代码扫描评审、集成测试、抓包检查通信数据、自动化测试、接口测试、部署测试、数据库表测试
具有静态测试和白盒测试经验,能够依据编程规范实施静态代码评审,能够对业务进行数据库层面测试
[ ] 明确知道代码和编程规范,根据编程规范做代码评审,能够发现常见的代码错误
[ ] 会用 SVN/Git 找出代码变更的部分,对变更的部分进行代码扫描评审
[ ] 会写 查询 SQL 的脚本,明白条件的过滤,懂得数据库的表导出文件
[ ] 会用 Python 写测试脚本,对数据库的表里面的字段和记录进行对比
[ ] 对数据库做导入导出操作,理解数据库的备份,可以准备测试数据,也能够做到数据还原
对软件功能测试进行测试设计,从测试范围、测试策略、测试重点和测试场景等维度确定测试方案
[ ] 测试计划的编写,知道什么样的文档是优秀的文档。什么内容应该列入什么部分?
[ ] 可以讲解测试计划,描述你的测试方案
有基于 WEB UI 的自动化测试经验,能够根据具体产品设计软件自动化测试框架,进行自动化测试
[ ] 知道 Selenium 实际上在测试中用到的 类,和类的方法:WebDriver,Select,WebElement
[ ] WebElement 类的方法: click() send_keys() clear() text get_attribute()
[ ] WebDriver 类的方法: get() delete_all_cookies() add_cookie() find_element_by_xx()
[ ] 知道 unittest 实际上在测试中用的 类:TestCase, TestSuite, TextTestRunner, HtmlTestRunner(第三方)
[ ] 知道 unittest 在测试中用到哪些断言:assertTrue, assertEqual, assertIn
[ ] 根据需求,分析出来业务,和测试的步骤、断言
[ ] 能够根据需求,准备测试用例的数据:格式和数据本身
[ ] 业务的划分,PO 的使用:准备多少个Page,彼此之间的关系,Page里面的方法
[ ] 明白封装的重要性:封装的只有:BoxDriver, CsvHelper, DbHelper
[ ] 明白封装是因为代码的安全和代码的可靠性
有性能测试的测试执行经验,具有实施性能基准测试、压力和负载测试的能力。
[ ] 理解性能测试基本的操作:参数化?关联?集合点?和应用场景。
[ ] JMeter导出来的格式 jmx 的数据内容:XML,基本配置项。最后会修改 jmx 的内容
[ ] 线程组的定义,配置?
[ ] 会设置性能测试的断言
[ ] 会计算需要模拟的并发用户数
[ ] 会用 Badboy 录制请求
[ ] 会分析服务器的性能数据
[ ] 懂得性能指标:吞吐量,TPS,响应时间,CPU,IO,内存
具备扎实的面向对象的编程基础,能够用代码开发基础的测试工具,辅助手工测试。
[ ] 明白类,和对象。对象是由类的实例化的结果
[ ] 知道类的继承和使用,构造方法的应用
[ ] 用编程的方式编写一个类,去访问数据库
有 WEB 接口的测试经验,理解接口测试的出发点和测试点,结合测试设计方法进行接口测试。
[ ] 比较清晰的描述 HTTP 协议,请求和响应的格式,内容。
[ ] 什么是 Web 接口?Web 接口的被测试的对象是?数据格式 JSON
[ ] 根据 API 文档分析接口:方法、URL、参数、返回值
[ ] 会使用 接口测试工具进行接口的请求,抓取结果,对结果进行断言
[ ] 会根据参数,对接口测试进行设计,覆盖参数的请求
4. 职业素养
非常敏锐的观察力,能够敏感的觉察出测试点和可能出现的风险,从界面到业务逻辑,都能细致分析
追求专业的工作方式,在测试中保持规范,无论是文档编写、代码编写还是测试用例,都按规范进行
持续学习的能力和态度,具有自己良好的学习习惯和学习方法,比较迅速的接受新的知识
问题解决思路的推崇者和实践者,能够做到问题解决的方式作为出发点,分析解决工作中遇到的阻碍和困难
---------------------
转载,仅作分享,侵删
作者:立师兄Linty
原文:https://blog.csdn.net/lintyleo/article/details/79362458
|
|