• 浅谈测试的意义和方法


    背景:

      本人曾一家芯片公司做过1年多手机系统测试工程师,在此期间思考了测试的意义和方法,故记下来分享

     一、测试工作认识

         好的产品从市场调研开始直到用户手里,离不开各个团队努力(否则就没有设立的意义),而对于产品要求越高,则各个团队的重要性则会越高。 对于产品质量,有人说好产品是设计出来,而测试人员则会说好产品是测出来的,全面完备高效的测试可以保证产品质量,提升产品市场竞争力。当然质量好的产品不但与测试有关,也与系统架构,研发支持,生产售后等等有密切关系。认识测试的重要性,理解测试本身是一门科学(实际不少大学有测试专业),把测试放在和研发同等重要的位置,可以使得公司清晰认知自己产品的位置以及改进的目标。

        一般在系统方案确定后,是需要输出软件设计方案,硬件设计方案和系统测试方案。甚至软件和硬件的测试方案也是需要的。换句话就是测试人员要及早参与到产品研发流程中。

     

    二、测试工作目的

       QC,保证产品的质量,提升产品性能。

     1.1 产品质量:在研发后,由测试人员进行独立的从模块到整机的测试,保证产品质量。和行业领先的竞争对手做比较,达到甚至超过他们的产品质量。通过模块测试保证,模块测试将扩展到IC芯片信号测试

     1.2 产品性能:首先满足设计(芯片和整机方案)的性能指标,其次与行业领先的竞争对手进行性能比较,为最终的性能提升提供规范准确的报告。

    三、测试系统工程师工作内容

    3.1)规范测试方法和测试案例,获得独立权威的测试结果,保证产品质量。

    3.2)测试分为模块测试(白盒)和整机测试(黑盒),做到全面覆盖

    3.3)提高测试可操作性,可重复性,努力做到自动化测试,提升测试效率和质量。

    3.4)推广测试方法,推动测试严谨规范。

    3.5)完善相关资料(测试规范,测试培训),做到文档化,流程化,标准化甚至傻瓜化。为测试人员提供培训。

     

    四、工作策略

      如何获得并产生测试case,主要从内部和外部入手

    4.1 内部

    1) 整合已有的测试资源(比如DVT,EVT的资源)

    2) 研究asic的spec

    3) 深入理解系统设计,和研发人员配合挖掘遗漏的测试项(比如)

    4.2 外部

    1) 客户的质量反馈(含内部客户<研发>和外部客户) (主要从clearquest提取,所以前提是要求客户的案例进入到clearquest中),深入研究理解问题原因,并且能够举一反三

    2) 行业标准(国内外)竞争对手的参考信息 

    3) 参考机的比较。对于竞争对手的产品分析(了解性能差异,讨论是否可以进行改善),能够举一反三

    4) IC生产厂家或测试设备厂家提供的测试方案以及认证机构的测试方案(摩尔实验室)

    五、工作计划

    5.1 近期计划:

    模块测试案例整理:

    搜集DVT,EVT的所有测试,输出测试指导文档    

    整机测试案例整理:

    搜集DVT,EVT的所有测试,输出测试指导文档.

    注:除测试文档,建议输出硬件测试规范,具体阐述测试方法原理,以及判断依据和参数说明的区别。

    5.2后续计划

    5.2.1 结合手机行业标准(含国内国外)/系统测试规范/竞争对手性能等输出硬件测试标准文档(要求定期更新)(所以需要标准人员参与)

    5.2.2 专项研究: (注:involve研发人员)

    主要是测试案例的研究,案例来源于

    ×测试中碰到的问题

    ×客户反馈的问题

    ×和行业竞争对手的关键指标.

    其他,例如对于测不准的案例进行研究(比如纹波的测试)对于测量主观性或者偶然性强的进行去主观性研究

    5.2.3标准的更新依据客户质量反馈,行业标准,以及研发产品的更新,定期和不定期的更新

    5.2.4培训:

    ×对内培训,比如外包人员

    ×对外培训,比如芯片使用者,手机设计商

    ×测试人员接受来自内部和外部培训,内部主要是从芯片到整机的设计培训,外部主要是测试方法和仪表使用的培训。同时对于测试方法学进入深入学习

    注:以上均要做到文档化(比如上次的射频测试培训)

    =========================================================== 

    测试case需要分级,提升测试准确性和效率。

    分级的原因导致分级的依据不一样,总结大致3个原因

    1. 受限测试资源和测试时间,按照测试内容的重要性进行分类,先测试重要性高的条目。而某些测试投入产出比较差的项目或者不是关键硬件部分的则分类到重要性低。
    2. 客户等级不一样,对于测试的要求不一样。所以需要测试的条目不一样,甚至同一条目的测试结果要求也不一样。这时要对测试条目以及预期结果进行分类
    3. 就是产品本身性能限制,有些测试无法满足,比如GPS的跟踪灵敏度的性能无法达到业界领先,所以需要分类,知悉我们产品所处位置。

    这三个原因其实有联系也有区别。

    =============================================================

    疑问和建议

    1)  和研发人员的关系?

    不是替代关系。我们需要理解设计的原理和关键技术,关注重要性能参数,但不是替换他们做设计工作,而是从研发的角度,考虑如何测试才能最好地保证产品质量(准确,可操作性,重复性,以及高效)。

    2) 和《重要问题遗留榜》的工作之间的关系? 我们只要完成测试工作,得到结论即可;还是现阶段主要是输出测试指导文档?

    3) 需要和各个部门加强联系,从研发(ASIC设计,硬件设计,软件设计)到外场测试,客户质量反馈等等。

    4)   电源/射频/模拟的研发经验缺乏,需要一方面自己学习,一方面调动相关的资源支援(比如借调研发人员,进行设计原理的培训)。建议:

    ×测试人员要求有研发经历,可以要求其临时参加一个研发项目,且最后需要调回

    ×招收有相关经验的人员

    5)可能来自研发人员的阻碍,以及认识不够。比如是否入clearquest中(如果太忙可以由测试人员来录入,是否愿意和测试人员进行交流)

    6)缺少单板设计规范和相关测试报告。

    7)是否要参与到芯片设计中,了解存在的问题。

  • 相关阅读:
    解决org.openqa.selenium.WebDriverException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms org.springframework.beans.BeanInstantiation
    jsp学习---css基础知识学习,float,position,padding,div,margin
    jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门
    java 查询 mongodb 中的objectid
    jsp学习---使用jsp和JavaBean实现超简单网页计算器
    jsp学习--JavaBean定义和在Jsp中使用JavaBean
    jsp学习--如何定位错误和JSP和Servlet的比较
    jsp学习--JSP运行原理,九大隐式对象和JSP常用标签
    jsp学习--基本语法和基础知识
    android开发学习---layout布局、显示单位和如何进行单元测试
  • 原文地址:https://www.cnblogs.com/e-shannon/p/6668193.html
Copyright © 2020-2023  润新知