zoukankan      html  css  js  c++  java
  • 谈谈我理解的测试的核心价值

    测试人员的核心价值 

        随着公司组织架构的调整,战略调整,产品的实现技术不断变化,现在的测试人员可以说是什么都可以干。

     

        有些人做产品,有些人做平台,有些人做工具......

        有些人有点象专职开发,有些人有点象专职运营......      Facebook,google的一些敏捷测试理念中,测试人员应该致力于提出测试解决方案,研究各种测试工具为主,具体的测试执行工作,由coding的开发同学去做。

     

        变化后面也有很多不变的,测试手段无外呼白盒测试,黑盒测试,静态测试,动态测试,单元测试,集成测试,系统测试,安全测试,性能测试等等。那些奋斗在一线的测试工程师的工作内容实则没有什么大的变化,访谈的结果是大家觉得自己也没有成就感,工作很累。

     

        这一切都让我迷惑了,很多人象我一样也迷惑了,测试人员的核心价值到底是什么?

        测试人员的职业发展是什么?特别是focus在业务上的测试人员的核心价值是什么?在这里仅表达下我个人的观点,欢迎大家一起拍砖。

     

    Ø  核心价值一:测试设计能力

    最基本的也是最重要的价值就是测试设计。无论是采用白盒,黑盒,手工还是自动化等不同的方式,精华都在测试设计中。测试设计能力入门容易,做深难,需要耐得住寂寞,不断的学习积累,同时需要的知识面非常广。

     

    下面几点可以提升测试设计能力:

    1.对产品的熟知程度

    2.对用户的了解程度

    3.技术实现/依赖产品/中间件/DB设计/缓存机制/安全机制等技术的深入了解程度

    4.产品运行环境(包括服务端,客户端,浏览器,系统并发量,吞吐量等)

    5.bug回溯(定位/分析)


    非常值得一提的是bug回溯,是一项非常有意义的活动。很多公司特别重视线上bug的预防,分析,却忽略了线下bug的回溯。而实际上,大家都有这样的印象,发现bug的不一定是你设计的TC,而是在执行TC时发散的其他测试场景。通过bug原因分析,可以更精准的帮助你识别易出问题的点。而且现在的技术,环境都是多样性的,总会出现一些你意想不到的bug,它的存在一定是有原因的。这些东西需要通过bug回溯不断的积累。

     

    Bug回溯  与测试设计形成良性循环

     

    Ø  核心价值二:制定测试策略

    大家都知道测试是不能穷举的。在有限的人力、时间、资源情况下,如何更快,更全面的覆盖被测对象,是需要策略的。

    我记得以前天彤说过,专家级的测试工程师可以对被测对象进行“精准爆破”,非常认同。对于象淘宝这么庞大复杂的系统来说,如果不能做到精确设计,精确测试,为了保障大用户量大数据量的并发下,想最大程度的规避可能出现的风险,让测试同学以眉毛胡子一起抓的方式进行测试就是在劳民伤财。

     

    不同产品,不同的团队,产品成熟度,人员的成熟度,所采用技术的成熟度等等,都可能导致测试策略的不同。制定测试策略的过程,就是对当前的项目、团队进行量体裁衣。

     

    影响测试策略的因素:

    • 项目类型  如:新产品,完善功能,重构型的,底层升级,数据库升级,不同的项目类型,测试重点也不同,采用的测试工具和测试类型也不尽相同

    • 产品成熟度    主要考虑产品的业务是否稳定,成熟。是属于创新型,试水产品,是否是成熟行业,需求明确稳定等等?

    • 使用研发技术和研发平台    采用新的研发工具,新的研发技术,还是公司成熟的技术,工具,使用什么样的数据库设计,包括产品的设计思想,产品架构等
    • 团队能力及默契度   稳定型团队?新团队?半新半旧,人员技术能力如何?人员特点如何?(特别需要说明的是,通过bug回溯可以发现团队开发或测试人员的技术能力,代码质量,业务掌握情况,逻辑清晰等这些个人特质,针对不同的人可以在测试时做不同的重点验证)
    •  研发模式   采用什么研发模式,传统的瀑布,还是敏捷,迭代等。这种研发模式以往常出现的问题是什么?该模式在该团队的运行是否成熟,稳定?
    • 产品线上运行环境    包括服务端和客户端的运行环境,负载机制,缓存机制,服务器分布等
    • 产品线上并发量,吞吐量等指标    关注目前指标及增长趋势
    • 产品使用用户   使用产品的用户人群众分布?目前的使用满意度如何?用户的计算机使用水平如何?用户反馈的最大问题是什么?用户的使用习惯是什么?竞争产品在用户中的优势是什么?
    • 测试过程保障    上线前测试依赖的环境、数据、技术、平台、工具保障,有现成的,还是需要开发?

    测试策略的方面

    ²  测试类型

    ²  各种测试类型的测试程度、测试通过/停止标准

    ²  使用测试技术

    ²  依赖平台、工具

     

    在工作中,大家对一些事情存在一些误区:

    1.编码能力   我们不盲目崇拜编码能力,而是随着测试手段不同,测试深入程度不同,需要我们有能力去识别代码中存在的风险,对产品的技术实现有更深入全面的掌握,才能更有针对性的进行测试,所以,我们必须具备编码能力。

    2.创新     我们不能为了创新而创新,而是在工作过程中,技术结合业务,为解决实际的问题自然而然的生长出来的新东西。这个创新一定是解决我们工作中的问题或用户的问题的。

    3.工具     工欲善其事,必先利其器,随着我们被测试对象的复杂化,多样化,使用技术的差异化,一些常规手段无法测试的内容,一些重复的劳动密集性的事务,需要让工具代替手工去做,自然而然的就会产生工具。所以,我们不是迷信工具,也不是崇拜工具,工具是为我们服务,带来价值的。如果这个工具不能给我们带来价值,就算做一个工具,没有人使用,又有什么意义呢?


    在实现测试设计与测试策略制定过程中,我们为解决实际问题自然会生出一些工具,平台,我们要鼓励大家用创新的思维去思考和解决问题,这样的产出是非常有价值的。


  • 相关阅读:
    ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
    ASP.NET Core 中文文档 第四章 MVC(3.1)视图概述
    ASP.NET Core 中文文档 第四章 MVC(2.3)格式化响应数据
    ASP.NET Core 中文文档 第四章 MVC(2.2)模型验证
    ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
    ASP.NET Core 中文文档 第四章 MVC(01)ASP.NET Core MVC 概览
    mysql 解除正在死锁的状态
    基于原生JS的jsonp方法的实现
    HTML 如何显示英文单、双引号
    win2008 r2 服务器php+mysql+sqlserver2008运行环境配置(从安装、优化、安全等)
  • 原文地址:https://www.cnblogs.com/finer/p/6665713.html
Copyright © 2011-2022 走看看