• 谈谈我理解的测试的核心价值


    测试人员的核心价值 

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

     

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

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


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


  • 相关阅读:
    力扣76题、567题、438题、3题(滑动窗口算法)
    【转】#ifndef/#define/#endif使用详解
    【转】为什么要用Source Insight呢?
    【转】list_entry通俗理解方法
    【转】c语言函数定义、函数声明、函数调用以及extern跨文件的变量引用
    【转】GDB attach到一个进程
    【转】Linux cat命令详解
    【转】C语言中“.”与“->”有什么区别?(详解)
    【转】C语言中"."和"->"的区别
    【转】Linux命令详解之–cd命令
  • 原文地址:https://www.cnblogs.com/finer/p/11895376.html
Copyright © 2020-2023  润新知