51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 32326|回复: 14
打印 上一主题 下一主题

[讨论] 一种有用的测试方法——破坏性测试(英文)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-11-10 11:04:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Bad User Testing

How can you be sure that an application will behave properly when users perform actions or combinations of actions that were not considered during the development of the functionality? During the testing phase, you have to plan for what is sometimes called "bad user" testing, or negative testing.

Boris Beizer's definition of negative testing in "Software Testing Techniques" is: "Testing aimed at showing software does not work".

In his paper, "A Positive View of the Negative Testing", James Lyndsay stated the objectives of bad user testing to be:

Discovery of faults that result in significant failures; crashes, corruption and security breaches
Exposure of software weakness and potential for exploitation
Observation and measurement of a system's response to external problems
Why Is Bad User Testing Important?

During negative or bad user testing, the tester seeks to abuse the functionality of the product in an effort to create odd program states by exercising functionality that deals with state management, input validation, boundary conditions, fault recovery, and more.

Bad user testing is generally performed as part of integration or system testing and does not have a distinct phase of its own. The basic principle to follow is if the tester can perform bad user tests without error, there is a significantly lower chance that the users will inevitably find such defects later on.

As Lyndsay points out in is his paper, negative testing can find significant failures and also can produce invaluable strategic information about the risk model underlying testing, and allow overall confidence in the quality of the system.

Where To Start?

It is possible to design a bad user test plan starting from the specification documentation. The most important thing to keep in consideration when designing a bad user test plan is to not test what is described, but what is not. The tester should look at the specification documentation as a guide to what the boundaries of the software and then look beyond the boundary to the extreme edges of the software's functionality. Employ your creative destructiveness to take you beyond these boundaries and perform actions and tasks that you are sure will fail, or should be impossible. These are the areas where the most interesting defects can be found.

Of course, each product is specific and all tests cannot be applied in all circumstances. The few brief examples below can be used as a guide when starting a bad user test plan. Use your creativity to add to and expand this list.

Generic Bad User Test Scenarios

What is expected behaviour when you:

Manually shut down, or reboot, the computer while the application is running
Manually restart the computer by pushing the reset button while the application is running
Restart the computer while the application is running using the start menu
Log off while the application is running
Boundary Test Scenarios

What is expected behaviour when you:

Attempt to go below the minimum input limits
Exceed the maximum input limits
Stress Test Scenarios

What is expected behaviour when you:

Run the program concurrently with many other programs
Set memory to a stressed state (low Virtual Memory, low RAM)
Run on slower or older machines
Load large volumes of data
Create large numbers of concurrent connections or open files
Performance Test Scenarios

What is expected behaviour when you:

Test on a system lower than the minimum configuration requirements
Open extremely large files
Attempt to import a corrupt file
Create a situation requiring an error message
Install/Uninstall Test Scenarios

What is expected behaviour when you:

Run the installation script again while the application is running
Cancel the installation midway through the install using the task manager
Install the application onto a hard drive without enough free space
Install the application onto a network drive and disconnect the drive partway through
Uninstall the application when the application is still running
Change or remove the registry settings before trying to uninstall the application
Summary

Bad user testing is performed by the tester to find weaknesses in the design or the code by attempting actions that are likely to occur after deployment. Although it is hard to make predictions about real-world use, real users will find all ways of using the system including those that were considered unreasonable or improbable.

Including this type of testing as part of your project will result in a more robust and user-friendly application and will of course save effort and costs after the product is released.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-11-10 18:23:07 | 只看该作者

好文章

虽然短小,但是很精,很是有用。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-11-12 10:32:07 | 只看该作者

有时间我把它翻译出来好啦

要出差了,暂时没时间弄。谁有时间可以完成它吖。觉得文章挺有用的。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-1-2 14:59:33 | 只看该作者

very good!

回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-3 10:41:32 | 只看该作者
看完了,不错呢
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-7-16 17:55:45 | 只看该作者
Thank you...
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-7-16 17:55:54 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-7-17 10:16:40 | 只看该作者
以前单位搞过破坏性测试。效果不错。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-8-5 16:47:53 | 只看该作者

精辟

文章很好,赞一下!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-10-19 14:48:32 | 只看该作者
收藏了,长见识了
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-10-23 18:11:35 | 只看该作者
太神奇了,2004年的帖子还能在如此前排
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-24 10:12
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]测试副司令

    12#
    发表于 2008-11-20 16:47:54 | 只看该作者
    看不懂也要看看~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-24 10:12
  • 签到天数: 536 天

    连续签到: 1 天

    [LV.9]测试副司令

    13#
    发表于 2008-11-20 16:50:33 | 只看该作者
    谢谢楼主分享》》
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2008-11-20 17:41:55 | 只看该作者
    谁翻译一下。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2008-11-27 13:33:52 | 只看该作者

    金山词霸翻译的。。。

    不良用户测试你怎么能保证一个应用程序将正确的行为,当用户执行行动或组合的行动,被认为在发展的功能吗?在测试阶段,你必须计划是什么,有时被称为“不良用户”的测试,或消极的测试。 鲍里斯Beizer定义的负面测试“软件测试技术”是: “测试旨在展示软件不工作” 。
    在他的文件中, “积极看待负面测试” ,詹姆斯Lyndsay指出的目标不好的用户测试,以是: 发现的断层,造成重大失误;崩溃,贪污腐败和安全漏洞曝光的软件缺陷和潜在的开采观察和测量系统的响应外部问题为什么是坏用户测试重要吗? 在否定或坏用户的测试,测试旨在滥用的功能产品,努力创造奇数程序规定行使功能,涉及国家管理,输入验证,边界条件,故障恢复,等等。




    不良用户测试通常是表现的一部分,融合或系统测试,并没有明显的阶段,其自身。基本原则是遵循如果测试可以执行不好的用户测试没有错误,有一个明显的机会,使用者将不可避免地找到这种缺陷以后。 正如Lyndsay指出的是他的论文,负面测试可以找到重大失败,也能产生宝贵的战略信息的风险模型的基本测试,并允许整体信心的质量体系。 从哪儿开始? 可能是设计一个坏用户测试计划,从规范的文件。最重要的事情保持在设计时考虑不好的用户测试的计划是不会测试是什么描述,但并非如此。测试应注意的规格文件为指导,以什么边界的软件,然后眼光超越边界的极端边缘的软件的功能。雇用你的创作破坏性带你超越这些界限和执行的行动和任务,你肯定会失败,还是应该是不可能的。这些地方最有趣的缺陷可以找到。 当然,每种产品的具体和所有测试不能适用于所有情况。少数简短的例子下面可以用来指导启动时坏用户的测试计划。使用您的创造力,增加和扩大这一名单。

    通用糟糕的用户测试场景什么是预期的行为当你: 手动关闭,或重新开机,电脑同时运行应用程序手动重新启动电脑的推动,而复位按钮,在应用程序运行重新启动计算机,同时在应用程序运行使用开始菜单注销,同时在应用程序运行边界测试场景什么是预期的行为当你:

    去尝试低于最低限额的投入超过最高限额的投入应力测试场景什么是预期的行为当你: 运行该程序同时与其他许多项目集记忆的强调国家(低虚拟内存,低内存) 运行在速度较慢的或旧机器负载大量的数据创建大量的并行连接或打开文件性能测试场景

    什么是预期的行为当你: 测试系统上低于最低配置要求打开非常大的文件企图进口腐败档案创建一个情况需要的错误讯息安装/卸载测试场景什么是预期的行为当你: 运行安装脚本再次在应用程序运行取消安装中段安装使用的任务经理安装应用到硬盘驱动器没有足够的自由空间安装应用程序到一个网络驱动器和断开的驱动器通过partway 卸载应用程序时,应用程序仍在运行更改或删除注册表设置,然后试图卸载的应用综述

    不良用户测试是由测试发现的弱点,设计或代码,试图行动,很可能要发生后部署。尽管这是很难预测现实世界中使用,真正的用户会发现所有的方式使用该系统包括那些被认为不合理或难以置信。 包括这种类型的测试的一部分,您的项目将产生一个更强大和方便用户的申请,并当然会节省精力和费用后的产品发布。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-5 13:59 , Processed in 0.094294 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表