Testing - 软件测试杂谈
Part-1
起步
测试是发现质量问题、分析、跟踪、推动与解决的过程。
1
- 熟悉业务,设计优质的测试用例,需要对所测试项目的业务需求非常熟悉
- 了解整个产品的研发和测试流程
- 全程参与,对需求、设计、开发、测试、交付、运维整个过程进行审视
- 独立地进行设计分析和方案整合,制定和控制完整的测试过程
2
- 常见的测试类型及测试用例设计方法, 测试设计是最核心的技能
- 掌握必须的测试工具,如果开源工具则尽可能阅读源码
- 基础的代码编写能力,至少会一种编程语言,具备一定的产品开发经验
- 满足测试需求的通用知识结构,操作系统、网络协议、数据库、建模等
3
- 专注一两个测试领域,作为长期投入、持续提升的方向,做到精通,中途可适当调整
质量意识
- 找到影响产品质量的关键信息,对产品质量做出总体评估并推动问题的解决。
- 将时间和精力投入在客户关心的需求上。
- 测试需要思考和推断,并不只是输出结果与预期结果的简单比对,这也是优秀测试和平庸测试的重要区别。
Coding
- 具备基本的代码编程能力,熟悉一门编程语言和脚本语言,例如:Java、Python、Shell
- 熟悉业务需求,熟练编写测试代码
- 独立编写自动化测试程序和搭建自动化测试框架
- 了解产品代码是如何设计的,了解开发人员是如何修复bug,尝试做尝试做code review.
测试工具
- 熟悉辅助测试人员开展测试工作的通用工具,可参考年度最佳测试工具(测试工具的风向标)
- 精通主要测试类型的一种工具,例如:单元测试Junit、性能测试JMeter、自动化测试Robot Framework等等
- 熟悉并尝试搭建测试开发环境
Part-2
测试评估与分析
- 参与需求分析和评审,关注业务逻辑,对需求的合理性和完备性提供意见,预估风险
- 参与系统设计方案评审,关注设计合理性、易用性等,对系统设计提出测试方的意见和评估
- 对关联项目的互相影响和发布做出稳定性评估
- 根据产品需求和产品设计, 进行系统化的测试分析,全局性地制定测试范围、标准、方案、计划
测试执行
- 根据测试标准、测试方案和计划, 编写测试文档,设计测试用例
- 开发和实施自动化测试脚本及辅助工具,提高代码的可测性
- 部署和设置测试环境、执行测试用例,
- 分析统计测试结果,审核测试达标情况,提供测试质量评估和报告
问题处理
- 测试工作不仅仅是发现问题,而是包含发现、重现、提交bug、跟踪进展、验证解决方案等内容,问题及时合理解决
- 协助分析定位BUG原因、配合开发人员重现及并验证BUG修复
- 发现问题以测试人员为主开发人员为辅,分析问题开发测试共同完成,解决问题以开发人员为主测试人员为辅
持续集成
- 设计、构建和优化持续交付流程
- 搭建持续集成测试环境
- 合理进行持续集成,保证项目质量和进度
持续改进
- 审视整个测试流程,提出优化和改进建议,完善测试规范
- 维护和改善测试流程和工具
- 学习及尝试新技术、新方法、新工具,对当前测试进行改进和创新,提高测试效率及质量
沟通协作
- 熟悉协作对象:其他测试人员、开发人员、项目管理人员、需求方等,熟悉了沟通协作也就方便了。
- 驱动问题解决,而不是简单传递问题,进而推动整个项目的顺利进行。
- 提交给开发人员的Bug report应该描述精确,简洁,没有歧义,有详细的重现步骤,信息完整(截图、log、配置等)
- 详细而客观测试结果具备很强的说服力,这也是沟通协作的基础,有助于理解彼此的工作价值,关注缺陷本身,而不是作为一个“批评者”出现。
- 归纳总结问题,集中询问,节省时间。
Part-3
自动化测试
- 能够实际提升产品质量和避免质量问题的自动化测试才是有价值的,否则就是个噱头
- 根据需求,将测试工作实现自动化,避免重复测试
- 搭建并维护自动化测试平台及工具
- 在第三方开源项目基础上进行二次开发
- 开发自主的测试工具和自动测试框架
性能测试
- 熟悉性能测试整体流程、各阶段的主要工作和测试方法;
- 根据需求及设计文档,进行性能测试需求分析,制定测试方案和计划;
- 按照测试方案设置测试场景,开发性能测试脚本及测试数据准备;
- 根据性能测试实际需要,按照有效策略执行性能测试,收集相关性能指标;
- 根据测试现象及结果,分析和定位系统性能瓶颈,推动跟踪问题解决;
- 整理分析性能测试数据,提交分析报告;
- 根据业务趋势,预测系统未来性能需求,给出性能提升建议;
一些顺序
- 先测试变更,再对未变动部分进行回归测试。
- 先测试核心功能,再测试辅助功能。
- 先测试功能,再测试可靠性。
- 先测试常见场景,再测试罕见场景(如压力和错误场景)。
Part - Book List
- 《软件测试》(美 -Ron Patton)
- 《软件测试与持续质量改进(第3版)》
- 《敏捷软件测试:测试人员与敏捷团队的实践指南》
- 《软件测试的艺术》(原书第3版)
- 《软件测试经验与教训》
- 《质量无泪》《质量免费》
Testing - 软件测试杂谈的更多相关文章
- Testing - 软件测试知识汇总
软件测试知识梳理 基础概念 : http://www.cnblogs.com/anliven/p/6070000.html 测试分类 : http://www.cnblogs.com/anliven/ ...
- Testing - 软件测试知识梳理 - 相关词汇
测试策略 描述测试工程的总体方法和目标:根据测试需求,描述在什么测试阶,依据什么测试要素和目标,进行什么种类的测试,使用什么样的测试方法和工具. 测试策略的制定主要包含如下内容: 确定测试过程要使用的 ...
- Testing - 软件测试知识梳理 - 探索性测试
定义 探索性测试(Exploratory Testing)是一种自由的软件测试风格,强调测试人员同时展开测试学习,测试设计,测试执行和测试结果评估等活动,以持续优化测试工作. 其特征有:即兴发挥,快速 ...
- Testing - 软件测试知识梳理 - 测试模型
珠玉在前,不再赘言. 软件测试模型 软件测试模型汇总
- Testing - 软件测试知识梳理 - 软件性能测试
软件性能测试的基本概念 软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是软件在完成该功能时展示出来的及时性. 软件性能的指标 响应时间:是指系统对请求作出响应的时间,并且 ...
- Testing - 软件测试知识梳理 - 理解测试
理解 目的 测试就是要找到关键信息,有关项目和产品的关键决策都是根据这些信息做出. 对产品质量做出总体评估. 找出并报告团队所有可能会对产品价值产生消极影响的问题(但并不意味着能发现所有问题). 重心 ...
- Testing - 软件测试知识梳理 - 测试阶段
估算 测试对软件工作量的估算的准确性 测试评估软件系统的状况的准确性 关注点: 不准确的估算 不适当的开发过程 不真实的状态报告 如何知道对工作量的估算是正确的 估算工作量的工具很容易出错 对软件工作 ...
- Testing - 软件测试知识梳理 - 测试方法
选择和使用测试方法和工具 按照测试需求用途(或测试技巧)选择 在软件开发生命周期和软件测试流程中适当地选择 按照测试人员实际技能选择 选择可提供的和可执行的 测试方法 类别及技巧 目标 使用方法 举例 ...
- Testing - 软件测试知识梳理 - 测试用例
测试用例 是指对一项特定的软件产品进行测试任务的描述,体现测试方案.方法.技术和策略. 内容包括测试目标.测试环境.输入数据.测试步骤.预期结果.测试脚本等,并形成文档. 每个具体测试用例都将包括下列 ...
随机推荐
- 安装好ubuntu双系统启动时卡死解决办法
问题描述:在安装完ubuntu双系统后,第一次启动ubuntu系统时,卡死在启动界面(或者黑屏),这大概都是由于显卡驱动的原因,具体不在这里阐述,通过以下方法能成功解决,据我个人经验,这可能是诸多方法 ...
- Codeforces Round #437 B. Save the problem!
题意: 给你一个方案数,要求你输出满足该条件的总金额,面值数,和各个面值是多少,答案有多个,随便输出一个即可. Examples Input 18 Output 30 41 5 10 25 Input ...
- cdnbest日志分析显示404的原因
日志分析报404原因 报这个提示一般是日志没有开启或还没有日志 检查下面几点: 开启和关闭站点日志在节点3311中显示如下图nolog是关闭 日志翻转目前默认是1个小时以后会默认改成20分钟,翻转时 ...
- HDU-1260.Tickets(简单线性DP)
本题大意:排队排票,每个人只能自己单独购买或者和后面的人一起购买,给出k个人单独购买和合买所花费的时间,让你计算出k个人总共花费的时间,然后再稍作处理就可得到答案,具体格式看题意. 本题思路:简单dp ...
- 写jsp文件时需要注意的一些小细节
①jsp文件的最开始的部分: <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- Head First Servlets & JSP 学习笔记 第七章 —— 作为JSP
<%@ …… %> 这是指令 <%@ page ……import="java.util.Date" %> 这是page指令,import是page指令的一个 ...
- Swift 模型属性
1 . // 定义模型属性时,一般定义为可选的,可以简化代码,不需要写 init 方法 // 如果是基本数据类型,不能设置为可选的,而且要设置初始值 var name: String? pri ...
- React-router4 第五篇 Preventing Transitions 防止转换
文档地址:https://reacttraining.com/react-router/web/example/preventing-transitions 大概意思就是说:我在这个页面上写东西呢?不 ...
- Web 研发模式的演变
前不久徐飞写了一篇很好的文章:Web 应用的组件化开发.本文尝试从历史发展角度,说说各种研发模式的优劣. 一.简单明快的早期时代 可称之为 Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 ...
- Alpha 冲刺 (6/10)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试服务器并行能力 学习MSI.CUDA ...