在测试任何应用之前应该了解的20个软件测试小窍门

写这篇文章我希望所有的测试人员都能阅读这些软件测试良好的实用内容,仔细阅读所有条目并尝试将他们运用到每天的测试工作中。如果不能理解某个条目,可以到我们论坛里留言询问更多的解释。当然你也可以通过亲身经历学习到所有这些测试的实用内容,但为什么不在犯错之前就来学习这些呢? 以下就是我在经历中学到的最好的一些测试实用技巧:

  1)学会彻底的分析测试结果。不要忽视了测试结果,最终的测试结果或许是“pass”或“fail”,但诊断导致“fail”的原因会引导你发现这个问题的解决方案。一个不仅仅记录了bugs而且提供了解决方案的测试人员是难能可贵的。

  2)学会在每次测试任何应用时将测试覆盖最大化。虽然100%的覆盖或许是不可能的但你应该试着去接近它。

   3)为保证最大化的测试覆盖需要将应用分割成更小的功能模块。在这样的单元模块上编写用例,如果可能的话讲这些模块分割成更小的部分。 举个例子:我们假设你将你的网站应用分割成了许多模块,“接收用户信息”是其中之一。你可以将用户信息填写页面分割成更小的部分来编写测试用例:比如叫界面测试、安全测试、用户表单的功能测试等等。在输入框里测试所有的字符类型、字符长度、无效性测试和有效性测试。写出所有这样的测试用例以增大测试覆盖率。

  4)当写用例的时候,首先要考虑怎么实现目标功能也就是寻找需求上的有效条件,然后再为无效条件编写用例。这样就能覆盖在应用测试过程中出现的常规和非常规操作。

  5)积极思考。要抱着找缺陷的目的去测试,不能一开始就想着应用中没有任何问题。如果你测试的目的就是在找缺陷你就会很自然的发现一些微妙的缺陷。

  6)在需求分析和设计阶段编写用例,这样你就能保证所有的需求都是可以进行测试的。

  7)让开发在编码之前就能看到你的用例。不要想着等程序发布时测试可以去提报很多缺陷而让你的用例一直在你自己手里。要让开发完整的分析你的用例去开发有质量的程序。这样就能节省返工的时间。

  8)如果可能话要明确和组织你用来做回归测试的用例,这会保障手工回归测试能够快速有效的进行。

  9)对临界应答时间有要求的应用需要对其进行完全地性能测试。性能测试是许多应用测试的重要组成部分。由于缺乏测试所需的大量数据,性能测试在人工测试中多半会被测试人员忽略掉,所以需要找到测试应用性能方法。如果不能手工添加测试数据,最好写一些基本的脚本来添加性能测试所需的数据,或让开发人员帮你写出来。

  10)程序员不应测试他们自己的代码。像我们之前讨论过的,开发人员应该对应用做了充分的基本的单元测试后才能给测试人员发布应用新版本。测试人员不能为了进行测试去催促开发人员快点发布新版。要让他们支配好自己的时间。从领导到项目经理都会知道模块什么时候发布以及能够预估处相应的测试时间。这是敏捷项目的一个典型情形。

  11)进行超出需求范围的测试。对应用进行超出需求要求的测试。

  12)做回归测试时要运用之前的缺陷概览图(缺陷概览图---不同模块缺陷发现数目与时间的关系图)。这种明了的图表可以很好的预测应用哪些部分最容易出问题。

  13)记录下测试过程遇到的术语和概念。在测试应用时也一直开着一个文档,在里面记录测试进度和测试状况。在准备最后的测试报告时就可以利用文档里记录的这些内容。这个好习惯会能帮助你提供完整明了的测试报告和应用发布细节。

  14)测试人员或开发人员会对应用代码进行多次修改来适应测试。这是开发或测试过程中必要的一步来避免事务有效执行,比如在银行项目中。要记录下来为适应测试而修改了代码的地方,并且在最终发布的时候确保已经将这些修改的地方从最终客户端的源文件里都改正了。

  15)让开发人员远离测试环境。这是在发布或部署文件中检查配置修改是否遗漏的必要步骤。有时开发人员做了一些系统或应用的配置修改,但是却忘了部署。如果开发人员没有权限访问测试环境,他们就不会不小心修改了测试环境,而且那些遗漏的地方可以在相应的地方找到。

  16)让测试人员在软件需求分析和设计阶段参与进来是很有用的。这样测试人员可以对软件有可靠的认识来保障较好的测试覆盖率。如果没有让你参与这个研发周期,你要请求你的领导或经理允许你的测试团队参与所有的决策议程。

  17)测试团队应该与其他团队及他们所在组织机构分享最佳测试实践、经验。

  18)增加与开发人员的交流来知道更多关于产品的知识。只要有可能就进行面对面沟通来迅速解决问题和避免误解。并且把你对需求的理解或解决了某些问题,确保同样也通过书面形式如电子邮件进行沟通。不要任何事都靠语言交流。

  19)不要把时间全放在高优先级的任务上。分析所有任务相关的风险,把你的测试任务按优先级先后排好然后做出相应的计划。

  20)编写清晰、描述性强、明了的缺陷报告。不要只提供缺陷现象,也要提供缺陷带来的影响以及所有可能的解决方法。

  不要忘了测试是一份有创造性和挑战性的工作。它最终取决于你的技能和经验,你会如何应对这个挑战。

  希望大家做的: 分享你自己的测试经验、技巧或测试秘诀,这样肯定能让本文更加有趣、实用。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-20 05:38:31

在测试任何应用之前应该了解的20个软件测试小窍门的相关文章

成功邮件营销小窍门:重视邮件测试

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 每次做邮件营销,我就会想,哪样的邮件标题,哪样的邮件内容,会更吸引用户打开并查看呢?我想有很多朋友也会有和我一样对邮件内容有些纠结吧.我现在先谈谈我通过多次做邮件群发得出的一些心得和体会,供大家参考下,请大家不要拍砖啊. 根据我的经验,首先,一定要保障邮件群发的送达率,邮件不能送达到用户邮箱,一切都是白搭. 这就需要有一个好的邮件群发工具才能

自动化测试最佳实践 连载五

第2章 终极数据库自动化 Henri van de Scheur Henri van de Scheur讲述了一个跨越6年的故事,是有关他和他的同事在开发一款适用于多个环境的测试数据库工具时所发生的事情.他们为自己的自动化测试设定了良好的目标,并为测试工具搭建了一个良好的架构.他们使很多测试实现了自动化,从而为自动化测试构建了一个完整的生命周期,包括周期性的bug清理.测试是每晚.每周运行的,或者根据特殊的时间表来安排执行.虽然取得了巨大的成功,但他们也遭遇过一系列的问题,Henri都如实地进行

高级测试人才应该掌握的六类知识

经常遇到测试人员不知道学什么,或者学一个东西不知道有没有用.其实我也经常会遇到类似的问题,因此我自己也想把我学到的知识归归类.我想只要是这几类的知识,你学习都没什么错,总是会有用的. 1. 产品知识:对于你所测试的产品,你一定要非常熟悉.小到你所测试的模块,大到整个产品的架构,内部实现,代码,等等. 2. 测试知识:黑盒测试,白盒测试,手工测试,自动化测试,性能测试,安全测试等等. 3. 开发知识:编程,数据结构,算法,调试等等. 4. 专业知识:以上2,3是基本的知识,你还应该精通一些你从事的

Rationa Functional Tester 截图功能在翻译验证测试(TVT)中的应用

1. TVT 简介及其当前主要困难,瓶颈 翻译验证测试(Translation Verification Testing,TVT) 是 IBM 全球化测试中的一个很重要的测试之一,一般会由来自于 TSC(Translation Service Centers)的翻 译人员和来自 GSSC 的 TSE(Translation Service Engineer)合作完成.TVT 主要的工作在于验证翻译的 PII(Program Integrated Information)字符在经过软件产品的重新编

敏捷测试简介

时至今日,还讨论这样一个老话题,是否感觉老调重弹?因为两年前(2010年底)时任谷歌中国测试经理的段念先生就 写了一篇文章<什么是敏捷软件测试>(刊登在InfoQ网站上[1]), 就已经谈到这个话题,"敏捷软件测试更多的是一种 理念,而非过程".在2011年,我自己也写了一篇文章<敏捷测试的思考和新发展>,刊登在<程序员>杂志上,谈到"在 BDD.ATDD和TDD最根本的.共同的思想基础上,构成一个全新的.更完善的敏捷测试框架"[

如何改善您的网站可用性测试

  在最初的一次网站可用性测试实验中,我遇见了一位和蔼可亲的老大妈,她从来没用过鼠标.在测试过程中,她一直用手比划着,一边对着屏幕在空气中比划,一边对着光标说着建议的话.在测试最后,我当然没有得到任何结果,但是她坚持认为我是一个"可爱的男孩",并且应该认识一下她的孙女.很快地,我学习到了如何设置实验者招募的核心标准. 如果你之前做过一个可用性测试,你就会知道这个不是看起来那么容易的.虽然这不是火箭科学,但其中也包含一些举足轻重的复杂性.在这篇文章里,我会分享一些我学到的关于如何帮助你避

JS实现探测网站链接的方法【测试可用】_javascript技巧

本文实例讲述了JS实现探测网站链接的方法.分享给大家供大家参考,具体如下: 如果想通过程序探测一个网站链接是否存在,可以通过服务器端高级语言编程实现,其实客户端的JavaScript也是可以探测的,下面通过一个技巧来探测网站链接. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&q

【转】Orion - oracle提供的测试io性能的工具

Orion是oracle提供的测试io性能的工具.它可以用来模拟Oracle数据库IO,也可以用来仿 真ASM的条带化的功能. Orion可以支持下列IO负载 1. 小的随机的IO:OLTP的应用主要是随机的读写,大小和数据的块大小一样(一般是8K).这样的应用主要是关注的吞吐量是IOPS和一个请求的平均延时时间.Orion可以仿真一个随机IO负载.指定的读写百分比,指定的IO大小,指定的IOs,IOs是分布在不同的磁盘上. 2. 大的连续的IO:数据仓库的应用,数据装载,备份,和恢复会产生连续

12款白帽子用于黑客渗透测试的操作系统

本文讲的是 : 12款白帽子用于黑客渗透测试的操作系统   , [IT168 技术]想知道什么样的操作系统的是白帽子黑客的最爱吗?本文我们将推荐12个操作系统,包括一些Linux发行版,如Kali Linux,Parrot安全操作系统,BlackArch等.这些以安全为重点的操作系统,可以帮助白帽子黑客进行渗透测试,检测系统或网络中的弱点. Kali Linux: 无需赘言,kali Linux发行版是目前最流行的安全操作系统;基于Debian的操作系统附带了600多个预安装的测试工具.这些多功