*********声明:本系列课程为Cem Kanner的软件黑盒測试基础的笔记版**************

What's A COMPUTER PROGRAM?

Textbooks often define a "computer program" like this:A program is a set of instructions(指令) for a computer.

That's like defining a house like this:

  • A house is a set of construction materials assembled(建筑材料集合) according to house-design
    patterns.

I'd rather define it as:

  • A house is something built for people to live in.

The second definition focuses on the
Stakeholders(for people) and Purpose(to live in), rather than on its materials.

Stakeholder(项目相关人): Any person affected by(受到……影响): success or failure of a project, or,  actions or inactions of a product,or effects of a service.

------------------------------------------------------------------------------------------------------

A DIFFERENT DEFINITION

  • A computer program is:
  • a communication
  • among several humans and computers
  • who are distributed over space and time,
  • that contains instructions that can be executed by a computer

The point of the program is to provide value to the stakeholders.

-----------------------------------------------------------------------------------------------------

WHAT ARE WE REALLY TESTING FOR?

Quality is value to some person----Jerry Weinberg

Quality is inherently subjective(质量天生就是主观的). Different stakeholders will perceive the same product as having different levels of quality.

Testers look for different things for different stakeholders.

--------------------------------------------------------------------------------------------------------

SOFTWARE ERROR

An attribute(属性,品质) of a software product

  • that reduces its value to a favored stakeholder
  • increases its value to a disfavored stakeholder
  • without a sufficiently large countervailing benefit

An error:

May or may not be a coding error, or a functional error. Design errors are bugs too.

------------------------------------------------------------------------------------------------------------

SOFTWARE TESTING

  • is an empirical(经验)
  • technical(技术)
  • investigation(审查)
  • conducted to provide stakeholders with information about the quality of the product or service under test(为项目相关者提供被測产品或服务的质量信息)

We design and run tests in order to gain useful information about the product's quality.

-------------------------------------------------------------------------------------------------------------

TESTING IS ALWAYS A SEARCH FOR INFORMATION----測试的作用

  • Find important bugs(找到严重的缺陷)
  • Assess the quality of the product(评估产品的质量)
  • Help managers assess the progress of the project(帮助管理者评估项目的进度)
  • Help managers make release decisions(帮助管理者做出决定是否公布release)
  • Block premature product releases(阻止公布草率的release)
  • Help predict and control product support costs(预估和控制产品支持的费用)
  • Check interoperability with other products(检查和其它产品的协同工作能力)
  • Find safe scenarios for use of the product(找出产品使用过程中的安全场景)
  • Assess conformance to specifications(评估产品是否和规格说明书一致)
  • Certify the product meets a particular standard(确保产品符合通用的标准)
  • Ensure the testing process meets accountability standards(确保測试过程满足可度量的标准)
  • Minimize the risk of safety-related lawsuits(降低安全相关的诉讼风险)
  • Help clients improve product quality & testability(帮助客户提高产品质量和可測性)
  • Help clients improve their processes(帮助客户改进他们的过程)
  • Evaluate the product for a third party(有第三方评估产品)

第1讲:The nature of Testing--測试的本质的更多相关文章

  1. 利用Continuous Testing实现Eclipse环境自己主动单元測试

    当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  2. OpenGL学习脚印:深度測试(depth testing)

    写在前面 上一节我们使用AssImp载入了3d模型,效果已经令人激动了.可是绘制效率和场景真实感还存在不足,接下来我们还是要保持耐心,继续学习一些高级主题,等学完后面的高级主题,我们再次来改进我们载入 ...

  3. testing and SQA_动态白盒測试

    一.软件測试技术: 黑盒:在不知道程序内部结构,仅仅知道程序结构的情况下採用的測试技术或策略. 白盒:在知道程序内部结构的情况下採用的測试技术或策略. 两种測试方法从不同的角度出发,反映了软件的不同側 ...

  4. C语言单元測试

    C语言单元測试 对于敏捷开发来说,单元測试不可缺少,对于Java开发来说,JUnit非常好,对于C++开发,也有CPPUnit可供使用,而对于传统的C语言开发,就没有非常好的工具可供使用,能够找到的有 ...

  5. 谈谈单元測试之(二):測试工具 JUnit 3

    前言 上一篇文章<为什么要进行烦人的单元測试?>讨论了一下现阶段软件开发中,程序猿们測试情况的现状.这篇文章中,我打算介绍一下单元測试的工具(插件).而且推荐大家以后在开发中,真正的用上单 ...

  6. iOS自己主动化測试的那些干货

    前言 假设有測试大佬发现内容不正确.欢迎指正,我会及时改动. 大多数的iOS App(没有持续集成)迭代流程是这种 也就是说.測试是公布之前的最后一道关卡.假设bug不能在測试中发现,那么bug 就会 ...

  7. Android自己主动化測试解决方式

    如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolect ...

  8. 玩转Bash脚本:test測试语句

    总第1篇test就是測试的意思,经常使用在流程控制语句中作为条件.以下做一下介绍. 关于真值 与其它语言不同,Bash(包含其它Shell)中,是用0表示真,非0表示假的.之所以用0表示成功,而不是1 ...

  9. Android单元測试之JUnit

    随着近期几年測试方面的工作慢慢火热起来.常常看见有招聘測试project师的招聘信息.在Java中有单元測试这么一个JUnit 方式,Android眼下主要编写的语言是Java,所以在Android开 ...

随机推荐

  1. C++中的虚析构函数、纯虚析构函数具体解释

    C++中析构函数能够为纯虚函数吗? 众所周知.在实现多态的过程中,一般将基类的析构函数设为virtual.以便在delete的时候能够多态的链式调用.那么析构函数能否够设为纯虚呢? class CBa ...

  2. mac系统创建.开头文件.htaccess

    thinkphp5 隐藏index.php的时候需要用的.htaccess文件,但是mac默认不让创建这种文件 感谢 https://blog.csdn.net/gyz413977349/articl ...

  3. 【TP SRM 703 div2 250】AlternatingString

    Problem Statement A string of zeros and ones is called an alternating string if no two adjacent char ...

  4. POJ 2914 Minimum Cut 最小割算法题解

    最标准的最小割算法应用题目. 核心思想就是缩边:先缩小最大的边.然后缩小次大的边.依此缩小 基础算法:Prime最小生成树算法 只是本题測试的数据好像怪怪的,相同的算法时间执行会区别非常大,并且一样的 ...

  5. 关于serialVersionUID的说明 分类: B1_JAVA 2014-05-24 11:02 1334人阅读 评论(0) 收藏

    1.为什么要使用serialVersionUID (1)对于实现了Serializable接口的类,可以将其序列化输出至磁盘文件中,同时会将其serialVersionUID输出到文件中. (2)然后 ...

  6. winscp ppk无需密码登录(失败)

    http://blog.csdn.net/catoop/article/details/8284803 按上文将Linux下生成的密钥文件id_rsa通过puttygen生成对应的.ppk文件,用wi ...

  7. bash - Logical_OR

    转载 https://bash.cyberciti.biz/guide/Logical_OR Logical OR   ← Logical AND Home Logical Not ! → Logic ...

  8. 微信小程序初步运营方案

    小程序的运营方案有很多种,目前我们遇到两个事情需要解决:1.问答的内容,这块也是大家比较关心的话题.内容的定位和细节. 2.预热与推广,就这两个问题,我列出了一些自己的想法和小程序初步运营方案,有不足 ...

  9. udp绑定信息

    1. udp网络程序-端口问题 会变的端口号 重新运行多次脚本,然后在“网络调试助手”中,看到的现象如下: 说明: 每重新运行一次网络程序,上图中红圈中的数字,不一样的原因在于,这个数字标识这个网络程 ...

  10. wait()、notify()、notifyAll()与线程通信方式总结

    1.通过wait().notify().notifyAll()进行线程通信 线程通信的目标是使线程间能够互相发送信号.另一方面,线程通信使线程能够等待其他线程的信号.例如,线程B可以等待线程A的一个信 ...