01 - 测试员不仅仅是执行测试用例,对实际结果和预期结果进行比较

测试员其实是参与了设计和执行测试的各个环节:测试架构,环境搭建,测试用例等等,并确定预期输出。
大多数设计测试都是基于业务流程和原理的有效推断,或者测试员的有效经验。

02 - 黑盒并不是基于“无知”的测试

  • 需要了解用户的期望和需要。
  • 需要了解测试背景(业务流程、业务配置、测试与运行环境的区别、业务数据、接口交互等等)。
  • 了解越多,了解的方式越多,越能够更好地测试。

03- 不要凭借所谓的“直觉”进行测试

直觉有很强的偏见性,是测试员自己的“本能感觉”。
直觉推断实际上是基于有效测试经验和对业务的了解,往往在测试初期发挥作用,测试的越深入细致,“直觉”发生偏差的可能性就越大!
可以把这种“直觉”当作指南,给出合理性证明。
当有“这是问题,因为它显然是问题”的想法时, 可考虑换一种方式: “这是可能是问题,因为观察到行为与需求存在矛盾, 需要做进一步的分析证明”。

04 - 不要急于测试复杂产品或功能

当要测试复杂和使人畏惧的功能集合时,可间歇进行。
可试着先研究复杂产品30分钟或一个小时,然后停下来干点别的。
不要担心在这段不长的时间内效率不高,如果觉得问题太多,则尽快退出.
经过几个轮次的陷入与退出,就会开始明白产品的模式和轮廓,很快就会在头脑中形成更系统、更具体地测试和研究策略。

05 - 运用试探法快速产生测试思路

试探法是一种经验规则,是一种基于经验做出猜测的方法。一组好的试探方法有助于很快地生成测试用例。
以下是采用试探法测试的一些例子:

  • 边界测试。边界更有可能暴露规格说明的模糊问题
  • 测试所有错误消息。错误处理代码与功能代码相比,一般比较弱
  • 测试与程序员的配置不同的配置。程序员已经偏信自己的配置没有问题
  • 运行比较难设置的测试。在其它条件相同的情况下,易于设置的测试更有可能已经被执行过
  • 避免冗余测试。如果某个测试实际上是重复其它测试,就不会产生新的价值。
    慎用陌生的试探法来做测试,可能会花费过多精力去熟悉测试方法本身。
    在收集测试方法时,要了解每个方法背后的原理,以及是否适用于当前的测试需求。

06 - 保持清新的态度

测试员在理解了产品或者功能后,会在头脑中形成映射,并且头脑不再那么努力工作。
当非常了解产品后,会对产品做出更多的假设,但却很少地检查这些假设的合理性是否仍然存在。
这种情况对于测试至少有3点提示:

  • 第一次接触产品或功能时,要特别注意使自己困惑和烦恼的地方。用户可能也有类似反应。
  • 当与团队的新成员一起工作时,与他们一起测试。 观察他们在了解产品时的反应。
  • 警惕陷入测试惯例。即使没有遵循严格的测试脚本,也可能对特点功能太熟悉,以至于以越来越窄的方式进行测试。在任何可能的地方引入多样性,或改由其他测试员负责。

Testing - 软件测试的思维和技巧的更多相关文章

  1. Testing - 软件测试知识汇总

    软件测试知识梳理 基础概念 : http://www.cnblogs.com/anliven/p/6070000.html 测试分类 : http://www.cnblogs.com/anliven/ ...

  2. Testing - 软件测试知识梳理 - 探索性测试

    定义 探索性测试(Exploratory Testing)是一种自由的软件测试风格,强调测试人员同时展开测试学习,测试设计,测试执行和测试结果评估等活动,以持续优化测试工作. 其特征有:即兴发挥,快速 ...

  3. Testing - 软件测试知识梳理 - 相关词汇

    测试策略 描述测试工程的总体方法和目标:根据测试需求,描述在什么测试阶,依据什么测试要素和目标,进行什么种类的测试,使用什么样的测试方法和工具. 测试策略的制定主要包含如下内容: 确定测试过程要使用的 ...

  4. Testing - 软件测试知识梳理 - 测试阶段

    估算 测试对软件工作量的估算的准确性 测试评估软件系统的状况的准确性 关注点: 不准确的估算 不适当的开发过程 不真实的状态报告 如何知道对工作量的估算是正确的 估算工作量的工具很容易出错 对软件工作 ...

  5. Testing - 软件测试知识梳理 - 测试方法

    选择和使用测试方法和工具 按照测试需求用途(或测试技巧)选择 在软件开发生命周期和软件测试流程中适当地选择 按照测试人员实际技能选择 选择可提供的和可执行的 测试方法 类别及技巧 目标 使用方法 举例 ...

  6. Testing - 软件测试杂谈

    Part-1 起步 测试是发现质量问题.分析.跟踪.推动与解决的过程. 1 熟悉业务,设计优质的测试用例,需要对所测试项目的业务需求非常熟悉 了解整个产品的研发和测试流程 全程参与,对需求.设计.开发 ...

  7. Testing - 软件测试知识梳理 - 测试模型

    珠玉在前,不再赘言. 软件测试模型 软件测试模型汇总

  8. Testing - 软件测试知识梳理 - 软件性能测试

    软件性能测试的基本概念 软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是软件在完成该功能时展示出来的及时性. 软件性能的指标 响应时间:是指系统对请求作出响应的时间,并且 ...

  9. Testing - 软件测试知识梳理 - 理解测试

    理解 目的 测试就是要找到关键信息,有关项目和产品的关键决策都是根据这些信息做出. 对产品质量做出总体评估. 找出并报告团队所有可能会对产品价值产生消极影响的问题(但并不意味着能发现所有问题). 重心 ...

随机推荐

  1. 用js控制 给一个input赋值之后,change事件不能捕获到,解决办法

    你用js给input赋值后要调用change方法 下面是jquery的写法 $('input#3').val("50"); $('input#3').change(); 自己试试吧

  2. springboot寻找property的顺序

    Spring Boot uses a very particular PropertySource order that is designed to allow sensible overridin ...

  3. 【Django】 TemplateDoesNotExist at /HTMLeditor/HTMLeditorHandler/

    TemplateDoesNotExist at /HTMLeditor/HTMLeditorHandler/search/indexes/htmleditor/htmleditor_text.txt ...

  4. CentOS开机报错:sd 0:0:0:0: [sda] Assuming drive cache: write through

    解决方法: vim /etc/default/grub 文件里去掉 rhgb 参数. [root@lb-nginx- ~/]#vim /etc/default/grub GRUB_TIMEOUT= G ...

  5. MySQL安装与启动

    1.MySQL安装包下载 下载地址:https://dev.mysql.com/downloads/mysql/ 这里我的电脑是WIN764位的,大家根据自己的电脑自己选择要下载的包 2.解压安装 解 ...

  6. sys、os 模块

    sys 模块常见函数 sys.argv           #命令行参数List,第一个元素是程序本身路径 sys.exit(n)        #退出程序,正常退出时exit(0) sys.vers ...

  7. gdbserver

    这里写下gdbserver的用法: 两台机子,宿主机A和目标机B. step1: 我们在B上安装gdbserver,在A上编译可执行程序a.out,把a.out拷贝到B上面去. step2: 在A上打 ...

  8. [剑指Offer]7-重建二叉树

    链接 https://www.nowcoder.com/practice/8a19cbe657394eeaac2f6ea9b0f6fcf6?tpId=13&tqId=11157&tPa ...

  9. onload、onpageshow、onpagehide、onbeforeunload、onunload的谣言纠正及特点介绍

    谣言一.chrome不支持unload.onbeforeunload 为什么说不支持呢?因为你使用alert,confirm,promot用来测试是否可用了!在unload和onbeforeunloa ...

  10. 解决安装xcode后git使用报错的问题

    一.现象: htmlxdeMacBook-Pro:demo htmlx$ git status Agreeing to the Xcode/iOS license requires admin pri ...