zoukankan      html  css  js  c++  java
  • 程序员的职业素养 读书笔记

    QA应该找不到任何错误

    QA也是团队的一部分

        QA和开发人员应该紧密协作,携手保障系统的质量。

        QA在团队中要扮演的便是需要规约定义者(specifier)和特性描述者(characterizer)。

    需求规约定义者

        QA的任务便是和业务人员一起创建自动化验收测试,作为系统真正的需求规约文档。

        业务人员编写针对正常路径(happy-path)的测试。

        QA编写针对极端情况(corner)、边界状态(boundary)和异常路径(unhappy-path)的测试。

    特性描述者

        QA的另一项任务是遵循探索式测试的原则,描述系统运行中的真实情况,将之反馈给开发人员和业务人员。

    自动化测试金字塔

    单元测试

        金字塔底部是单元测试,单元测试由程序员使用与系统开发相同的语言来编写,供程序员自己使用。

        编写单元测试的目的是在最低层次上来定义系统。

    组件测试

        组件测试是验收测试的一种,它们是针对系统的各个组件而编写。

        系统的组件封装了业务规则,对这些组件的测试便是对其中业务规则的验收测试。

        组件测试由QA和业务人员编写,开发人员提供辅助。

    集成测试

        集成测试只对那些组件很多的较大型系统才有意义。它将组件装配成组,测试它们彼此之间是否能正常通信。

        集成测试是编排性(choreography)测试。它们并不会测试业务规则,而是主要测试组件装配在一起时是否协调。

        集成测试一般由系统架构师或主设计师来编写,用以确认系统架构层面的结构是事正确无误。

    系统测试

        系统测试是针对整个集成完毕的系统来运行的自动化测试,是最终的集成测试。

        它们不会直接测试业务规则,而是测试系统是否已正确组装完毕,以及系统各个组成部件之间是否能正确交互。

        包含吞吐率测试和性能测试。

    人工探索式测试

        需要人工介入、敲击键盘、盯牢屏幕的测试。它们既非自动化的测试,亦非脚本化的测试。

        探索式测试是要确保系统在人工操作下表现良好,同时富有创造性地找出尽可能多的“古怪之处”。

  • 相关阅读:
    亲们,知道你想更优秀,你做到这些了吗?
    Linux socket编程学习笔记(一):socket()函数详解
    关于typedef的用法总结
    c,c++里面,头文件里面的ifndef /define/endif的作用
    玩转ptrace
    文笔流畅,修辞得体
    定义和实现一个类的成员函数为回调函数
    《Shell 脚本学习指南 》 背景知识与入门 [第一、二章]
    使用ptrace跟踪进程
    FCKeditor 2.6.4.1配置
  • 原文地址:https://www.cnblogs.com/TanSea/p/ClearCoder-8.html
Copyright © 2011-2022 走看看