`
liyiye
  • 浏览: 416436 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

典型的测试方面的错误理解的问题集合

阅读更多

在我们每天的工作中,我们可能时时都在面对着对测试的批评和指责中。开发人员或管理人员试着用这种或那种的理由要求我们在测试过程中更负责,更仔细些。但是你认为他们对你的要求或指责都是正确抑或合理的吗?作为一个测试人员,你是否在工作中固执己见?作为一个管理者,你是否一味地追求高深的技术或测试自动化呢?本文参照了国外一些资深的测试专家的观点,并结合本人多年的经验而成。希望我们能够更理性的把测试工作做的更好。

  测试的角色

  ◆认为测试小组应负责保证产品的质量

  -这是经常被开发人员和管理人员滥用的一句话。经常出现在出现问题时,对测试小组的指责中。就是由于这个观念的存在,导致很多问题在开发晚期或测试后期才发现,可能需要大量的返工甚至拖延了产品的发布时间。其实在开发过程中的每一人都有可能影响产品的质量。这就像建房子一样,房子出现问题了,只是检查人员的问题吗?我想如果每一个人都心怀以“质量为中心”,小心谨慎的做好自己的工作,产品的质量会上一个很多的台阶。

  ◆认为测试就是为了发现错误

  -在很多“软件测试”的定义中,都提到类似“软件测试是为了发现错误”的话。其实这个观点是提醒人们在测试过程要以查找错误为中心,而不是证明软件的正确功能。但是很多人仅凭着字面的意思就认为发现错误是测试的唯一目的,那些找不出任何错误或很少错误的测试都不是成功的测试,这是错误的。

  其实测试不仅仅只是为了发现错误,还需要分析错误产生的原因和其分布情况,为开发人员,管理层提供参考,指出产品或开发过程中存在的主要问题。而且随着人们对产品质量的要求的提高,出现了多样的测试类型。象易用性测试,性能测试,覆盖率测试,恢复性测试,完整性测试等,这些测试都不是完全为了发现错误,而是找出和预期标准不同的问题。

  所以个人认为还是IEEE在1983年提出的:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。”比较权威。

  ◆认为测试不能发现重要的错误

  -有些开发人员认为单纯的手工测试只是发现系统的一些皮毛问题,因此从心里看低测试人员。但有过经验的开发人员知道,测试人员也发现了很多重要的问题。我曾经看过一些在开发小组中特别有权威的测试人员,他们虽然也只作黑盒测试,但他们发现的错误都是重量级的。

  ◆认为测试小组没有提交可用性方面的问题

    ◆没有集中精力评估产品的质量

    ◆交错误数据的同时,但没有把数据放入错误发生的背景里。

  -有些测试人员认为我发现错误了,就成功了。在错误报告中,只是提及错误的情况和数据,但却没有提及错误发生的背景或是步骤。造成开发人员很难重现并修改错误。

  ◆很晚才开始测试(只是发现错误,而不是减少错误)

  -这个很显而易见。但不幸的是,我参与过的很多项目测试小组都是在很晚才开始测试的。由于公司在成本上的考虑,导致了在开发后期或系统测试时才开始测试。出现了开发人员在项目晚期还在加班改bug的情况,甚至由于错误太多拖延了交付时间。在其中,还有可能发现整体设计和构架上的缺陷,导致明知会有很严重的后果都不敢改动代码的事情。

  计划完成的测试工作量

  ◆测试的工作量和功能测试有偏离

    ◆低估了配置测试

    ◆把压力和负载测试放在最后进行

    ◆不测试文档

    ◆不测试安装过程

    ◆过分依赖beta测试

    ◆在转移到下一个任务之前必须完成现在的测试任务

    ◆未能正确地识别风险区域

    ◆固执地遵从测试计划 人员问题

 

◆利用测试作为新开发人员的过渡工作

    ◆从不合格的程序员中招募测试人员

    ◆测试人员不需要是领域专家

    ◆不从客户服务人员或技术文档人员中挑选测试人员

    ◆坚持测试人员必须能够编程

    ◆缺乏多样性的测试小组

    ◆认为测试和开发人员有本质的区别

    ◆相信开发人员不能够测试他们自己的代码

    ◆开发人员既没有受过培训,也没有激情测试

  工作中的测试人员

  ◆比设计测试更注重运行测试

    ◆不审核测试设计

    ◆非常详细地描述测试的输入和过程

    ◆没有注意并探测到“不相关的”怪事

    ◆检查产品应该执行的和期望的一样,但没有检查它不应该执行的是期望不应该执行的一样

    ◆测试套件只有他们的作者才可以理解

    ◆只通过用户可见的界面测试

    ◆拙劣的错误报告

    ◆当发现错误后,只是增加了回归测试

    ◆没有为下一此测试工作量做笔记

   测试自动化

  ◆尝试自动化所有的测试

    ◆可以立即减少工作量或人力

    ◆期望重新运行手工测试

    ◆使用GUI捕获/回放工具以减少创建测试的成本

    ◆期望回归测试可以发现更多的新错误

  测试覆盖

  ◆只是追求一个简单的关于测试覆盖率的数据

    ◆只是因为有些测试不能增加覆盖率,就把它们从回归测试包中移除掉

    ◆把覆盖率作为测试人员的绩效目标

    ◆彻底地放弃覆盖率

分享到:
评论

相关推荐

    GoshDarnBugs:SwiftUI测试版中存在的一系列错误

    与传统的Cocoa / Touch框架完全不同,它是刚刚诞生的,并且(可以理解)仍在API设计和整体无错误体验方面保持稳定性。 使用SwiftUI感觉就像站在最前沿。 这是一种新颖,美观,启发性的代码编写方式-就典型用法和...

    计算机二级公共基础知识

    (2)数据结构研究的3个方面 ① 数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; ② 在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; ③ 对各种数据结构进行的运算。 2. ...

    ASP企业网络管理系统设计与实现

    数据驱动和逻辑驱动的测试,第一种方法是数据驱动的方法,它不需要知道关于程序的工作方式方面的知识,而主要集中在对现实世界或虚构的数据进行采样的基础上,挑选出一系列测试数据集合,然后使用这些数据运行程序,...

    Access+2000中文版高级编程

    7.9 错误处理问题的最后回顾 171 7.9.1 注意环境开关 171 7.9.2 使用错误处理程序回卷事务 174 7.9.3 使用窗体的On Error事件 175 7.9.4 嵌套错误处理程序 177 7.9.5 错误处理的新选项 177 7.10 小 结 ...

    Access 2000中文版高级编程(part1)

    7.9 错误处理问题的最后回顾 171 7.9.1 注意环境开关 171 7.9.2 使用错误处理程序回卷事务 174 7.9.3 使用窗体的On Error事件 175 7.9.4 嵌套错误处理程序 177 7.9.5 错误处理的新选项 177 7.10 小 结 178 第...

    C#微软培训资料

    14.4 继承中关于属性的一些问题.169 14.5 小 结 .172 第四部分 深入了解 C#.174 第十五章 接 口 .174 15.1 组件编程技术 .174 15.2 接 口 定 义 .177 15.3 接口的成员 .178 15.4 接口的实现 .182 ...

    MySQL5.1参考手册官方简体中文版

    北京万里开源软件有限公司在全国范围提供MySQL产品相关的商务及 技术方面的咨询与支持服务。垂询请致电:8610-65694500,或发送邮件至:sales@greatlinux.com. 本手册编译于2006-7-29,目录及索引由官方HTML文档...

    Delphi5开发人员指南

    3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 ...

    Spring in Action(第2版)中文版

    b.1.1理解不同类型的测试 b.1.2使用junit b.1.3spring在测试中的角色 b.2单元测试springmvc控制器 b.2.1模拟对象 b.2.2断言modelandview的内容 b.3使用spring进行综合测试 b.3.1测试装配后的对象 b.3.2综合...

    MySQL 5.1参考手册 (中文版)

    15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除...

    Spring in Action(第二版 中文高清版).part2

    B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元测试Spring MVC控制器 B.2.1 模拟对象 B.2.2 断言ModelAndView的内容 B.3 使用Spring进行综合测试 B.3.1 测试装配后的对象 B...

    Spring in Action(第二版 中文高清版).part1

    B.1.1 理解不同类型的测试 B.1.2 使用JUnit B.1.3 Spring在测试中的角色 B.2 单元测试Spring MVC控制器 B.2.1 模拟对象 B.2.2 断言ModelAndView的内容 B.3 使用Spring进行综合测试 B.3.1 测试装配后的对象 B...

    mysql官方中文参考手册

    15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除...

    MYSQL中文手册

    2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 ...

    MySQL 5.1参考手册中文版

    2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1...

    MySQL 5.1参考手册

    15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除...

    MySQL 5.1中文手冊

    15.1.4. MyISAM表方面的问题 15.2. InnoDB存储引擎 15.2.1. InnoDB概述 15.2.2. InnoDB联系信息 15.2.3. InnoDB配置 15.2.4. InnoDB启动选项 15.2.5. 创建InnoDB表空间 15.2.6. 创建InnoDB表 15.2.7. 添加和删除...

    MySQL 5.1官方简体中文参考手册

    2.8.2. 典型配置选项 2.8.3. 从开发源码树安装 2.8.4. 处理MySQL编译问题 2.8.5. MIT-pthreads注意事项 2.8.6. 在Windows下从源码安装MySQL 2.8.7. 在Windows下编译MySQL客户端 2.9. 安装后的设置和测试 2.9.1. ...

    传智播客扫地僧视频讲义源码

    04_二级指针三种内存模型综合训练_典型错误 05_结构体作业点评 06_结构体中的深copy和浅copy 07_结构中的高级话题_偏移量 08_结构中的高级话题_偏移量强化 09_文件操作api基本概念 10_按照字符读写文件 11_按照行...

Global site tag (gtag.js) - Google Analytics