测试团队
测试团队的责任
测试人员的基本责任:
- 测试团队的责任发现软件程序、系统或产品中所有的问题
- 尽早地发现问题
- 督促开发人员尽快地解决程序中的缺陷
除此以外,测试团队的责任还包括:
- 帮助项目管理人员制定合理的开发计划
- 对问题进行分析、分类总结和跟踪,以便让项目的管理者和相关的负责人能够对产品当前的质量情况一目了然
- 帮助改善开发流程,提高产品开发效率
- 提高程序编写的规范性、易读性、可维护性等
测试团队的地位
以开发为核心,测试只是开发队伍的一部分,也就是开发团队中有测试人员,但没有形成独立的团队
以项目经理为核心,开发小组和测试小组并存,隶属于项目经理领导
项目经理、开发经理和测试经理“三国鼎立”,测试团队具有独立性、权威性的地位
测试团队的基本构成
一个比较健全的测试部门应该具有以下角色
- 测试经理:人员招聘、培训、管理、资源调配、测试方法改进等
- 实验室管理人员:设置、配置和维护实验室的测试环境、主要是服务器和网络环境等
- 内审员:审查流程,并提出改进流程的建议;建立测试文档所需的各种模板,检查软件缺陷描述及其他测试报告的质量等
- 测试组长:业务专家,负责项目的管理,测试计划的制订、项目文档的审查、测试用例的设计和审查、任务的安排、和项目经理、开发组长的沟通等
- 测试设计人员/资深测试工程师:负责产品设计规格说明书的审查、测试用例的设计、技术难题的解决、新人和一般测试人员的培训和指导、实际测试任务的执行
- 一般(初级)测试人员:执行测试用例和相关的测试任务
树立良好的测试团队意识
目标意识
- 目标到人
- 个人目标和团队目标相结合
- 责任心
- 自信心
团队意识
- 集体成功观
- 水桶原理衡量团队战斗力
- 良好的沟通
服务意识
- 面向客户的服务
- 面向团队内部的服务
竞争意识
- 责权利均衡
- 所有的角色都一样重要
危机意识
测试团队的激励机制
表扬和奖励
- 最有价值bug、测试用例,优秀测试计划,优秀员工等
站在测试小组一边
提高士气
- 薪水,职务,工作时间,培训机会等
支持合理的工作方式
- 白天创建脚本,晚上自动运行
- 将测试工作进行分解、细化
测试环境
测试环境
测试环境是软件测试的基础,使用错误的测试环境,可能会遇到以下情形
- 得出完全错误,甚至是相反的结果
- 忽略了实际使用可能会出现的严重错误,将严重的bug遗留到客户的手中
- 导致项目返工,造成巨大的资源浪费
- 导致项目延期,信誉的损失
稳定和可控的测试环境,可以使测试人员花费较少的时间就完成测试用例的执行,也无需为测试用例、测试过程的维护花费额外的时间,并且可以保证每一个被提交的缺陷都可以在任何时候被准确的重现。
各种研发环境
开发环境:做编程开发时需要用到的指定软硬件要求,以及对应的系统以及应用程序工具等,这个整体就是开发环境。
- 配置可以比较随意, 为了开发调试方便,一般打开全部错误报告。(程序员接到需求后,开始写代码,开发,运行程序,看看程序有没有达到预期的功能
测试环境(Testing environment):是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据、测试工具的总称。
生产环境:即线上环境,正式提供对外服务的、用户使用的环境。由特定人员来维护,一般人没有权限去修改
预发布环境:测试环境到生产环境的过渡。测试环境可能会受到一些限制,一些流程或者数据没有测试到,就可以在预发布环境进行验证,从而保证产品上线质量
预发布环境和生产环境区别:
- 预发环境中新功能为最新代码,其他功能代码和生产环境一致。
- 预发环境和生产环境的访问域名不同。
注意事项:预发布环境一般会连接生产环境的数据库,测试时要注意,以免产生脏数据,影响生产环境的使用。
灰度发布,发生在预发布环境之后,生产环境之前。
生产环境一般会部署在多台机器上,以防某台机器出现故障,这样其他机器可以继续运行,不影响用户使用。
灰度发布会发布到其中的几台机器上,验证新功能是否正常。如果失败,只需回滚这几台机器即可。