《从菜鸟到测试架构师一个测试工程师的成长日记》笔记与思考

一、测试的本质

1、测试其实是发现并解决问题的过程,而其 目标则是让软件产品以尽可能高的质量交付给客户,使软件产品中存在的问题尽可能少、

运用风险分析和不同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽 测试。

2、软件开发本身是追求产出和投入比的工程性过程。因此,考虑测试的内容和方式时, 都应当以高产出投入比为最终目标

二、测试的抽样特性

除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可行的

三、测试类型的多样性

1、单元测试:和开发最接近的一种测试。开发人员编写单元测试用例并执行,验证单元 模块是否得出预期的结果。

    在敏捷开发模式中,有一种流行的开发模式叫做测试驱动开发。测试驱动开发的核心就是把单元测试用例先做好,功 能开发以通过相应的单元测试用例为目标。

    敏捷开发从根本上避免了瀑布模型的弱点,它有两个核心点——迭代开发和增量开发

2、功能测试:通过执行自动或手动的测试用例,可以验证相应的功能点
3、性能测试:重点验证软件的非功能性需求 的测试。通过自动化的方 法模拟真实用户并发访问的场景,以验证系统的性能指标(吞吐率、稳定性、可靠性)或发现其性能瓶颈
4、兼容性:版本、浏览器等等兼容检查

5、探索性测试:“无目的” + 站在用户角度“随机”使用系统

四、测试的目标

软件潜在问题尽可能的减少
软件测试结果对软件的拥有者/用户负责

五、开发团队做的远不仅是开发

1、开发人员的开发技能与 软件是 否以高质量完成有重要的关系

2、软件提测质量直接关系到测试人员的工作量,甚至产品上线质量

3、不规范的开发过程给测试、上线、乃至风险控制带来巨大困难

PS:开发人员要做的,远不仅限于开发;而测试专家要做的,也远不仅限于测试 。

六、测试架构师

1、职责。测试架构师的职责是定义测试策略,从宏观上定义测试的方向和方法。测试架构师对测试目标的技术特性和业务需求有准确的把握,能为测试团队提供方法论方面的全面建议。

扫描二维码关注公众号,回复: 41143 查看本文章

2、要求。作为测试团队的“智囊”,测试架构师应该具有较高的技能水平,包括深入和全面的测试经验,对软件开发和测试的模型有全面的认识,对商业模式及 客户的业务需求也有比较深刻的理解。

ps: 目前说起架构师往往只考虑到了开发技术方面的牛人,往往有些忽略业务方向等方面的要求。个人认为,一名好的架构师必然不应该脱离业务来空谈测试的架构,架构师应该具备的能力:

  • 对开发技术具有很深的理解,能从技术设计阶段给出专业建议
  • 对业界测试方法具有前瞻性和经验,能针对不同技术架构设计相对应的测试策略(测试的广度和深度)
  • 对业务方向具有前瞻性和经验,能从业务需求角度设计相对应的测试方案

3、与测试工程师的区别。

测试架构师 :宏观视角制定/指导团队的测试策略

测试工程师:具体测试的执行

七、测试度量

  • 功能性质量 软件是否按照设计实现并满足相应功能性需求 
  • 结构性质量 软件是否满足相关的非功能性 需求
  • 迭代过程度量
  • 效率提升度量。

    从项目整体的角度而言,“尽可能早地发现问题”才能降低风险,而问题越迟发现,项目的风险越高,对整体进度的影响越大 。

  • 质量运营度量

八、尽可能早地发现问题 

1、迭代和累积的过程,越是底层的缺陷,发现的时间越晚,修复缺陷的 代价越高;
“尽可能早地发现问题”才能降低风险,而问题越 迟发现,项目的风险越高,对整体进度的影响越大。
2、作为测试专家,应该考虑的问题是如何更早地发现缺陷,以及有效地解决缺陷
  • 如何更早地、有效地发现问题?
  • 发现问题后的问题分析?
ps:作为测试专家, 核心的能力其实还是思考的能力,通过实践、总结,形成自己的方法论
3、发现问题的可行方法有两类,分别是分析方法和测试方法
  • 分析方法。非测试手段来发现问题
  • 测试方法。各种测试手段发现问题
PS:系统某个部分的原因引起的,而这个局部的问题放大后会在系统的 宏观级别上表现出来;
4、效率提升

效率的提高有两种外在的表现:

第一种方式是使用相同时间完成更多的测试用例执行;

第二种方式是对于同一个或同一组测试用例,耗费的时间减少了 

ps: 自动化设计过程中需要避免“过度自动化”

九、(方法论)像外行一样思考,像专家一样实践

    在发现和解决问题时,外行的思考方式可以成为有效的切入点。好的 切入点是一个不错的开始,然而,真正的实践还是必须以专家的严谨和慎重来验证想法是 否正确。

十、测试既是技术,也是艺术 

    技术在不断变革,而艺术则更偏向于美学和哲学的范畴。 技术和艺术的共同点是,在这上面的修为都不存在终点。即使成为了测试高手,在测试领 域,依然还有许多值得追求的事物。 随着对测试的理解认识越来越深,测试工程师可以对 测试的哲学提出独创性的见解,这种见解也许是技术上的,也许是方法上的,或者是管理 上的。能够提出这种见解,测试工程师已经到达了测试大师的水平了。新的技术、新的方 法论和新的测试哲学的不断出现,推动着整个软件测试领域乃至信息科学领域的不断进步

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/80037698