软件测试的艺术

摘要:
软件测试是一个破坏性的过程,甚至是一个“虐待狂”的过程。该测试策略检查程序的逻辑结构并从中获取测试数据。

1. 软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。

测试投入的目标在于:通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。

2. 测试,是为发现错误而执行程序的过程。

软件做了其应该做的,未做其不应该做的。

软件测试是一个破坏性的过程,甚至是一个“施虐”的过程。

3. 黑盒测试和白盒测试是两种最普遍的策略。

 黑盒测试:又称为数据驱动的测试或输入/输出驱动的测试。

在使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正常运行的环境条件。

白盒测试:又称为逻辑驱动的测试,允许我们检查程序的内部结构。

这种测试策略对程序的逻辑结构进行检查,从中获取测试数据。(遗憾的是,常常忽略了程序的规范)

4. 软件测试的原则

1. 测试用例中,一个必需部分是:对预期输出或结果进行定义
2. 程序员应当避免测试自己编写的程序
3. 编写软件的组织不应当测试自己编写的软件
4. 应当彻底检查每个测试的执行结果
5. 测试用例的编写,不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
6. 检查程序是否“未做其应该做的”,仅是测试的一半;测试的另一半是检查程序是否“做了其不应该做的”
7. 应避免测试用例,用户即弃,除非软件本身就是一个一次性的软件
8. 计划测试工作时,不应默许假定不会发现错误
9. 程序某部分存在更多错误的可能性,与改部分已发现错误的数量成正比
10. 软件测试是一项极富创造性、极具智力挑战性的工作

免责声明:文章转载自《软件测试的艺术》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python 中全局变量的实现SPSS实例教程:多重线性回归,你用对了么下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android Monkey压力测试使用

一、Monkey简介: Monkey是Android中的一个命令行工具,可以运行在模拟器里或者现实设备中,向系统发送伪随机的用户事件流(点击、滑动、Application切换、横竖屏、应用关闭)实现对正在开发的应用程序进行压力测试。monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。只针对Activity做测试,不能对Servic...

6.1 路由router

路由将信息由源地址传递到目的地的一种角色. 一、路由简单应用举个例子: let express=require('express'); let app=express(); app.use(express.static('public')); // GET /home 显示 网站首页 app.get('/home',function(req,res...

Office 2010与Office 2007用户界面对比赏析

微软Office团队在开发最新版本时除了最核心的功能方面还对用户界面进行了大幅改进,虽然不能用户改头换面来形容,不过Office 2010对UI进行精简、删除了一些不需要的视觉元素,更重视主题内容,而不是窗口架构的边缘和小器具。 为了达到上述目的,Office 2010减少了边框、水平线条等,使得Office界面的垂直空间增大了6个像素,而且添加了更多空白...

针对监控摄像机(海康、大华等)录像 .h264 文件的流媒体播放设计

监控摄像机(海康、大华等)内部带的录像功能一般录制的是h264文件,这种文件格式简单的把每一帧h264字节数据保存到文件里。 实际使用中,可能需要对特定录像进行反复检测,以训练、改进视频检测算法的准确性。 这里介绍两种方法。 1.使用RTSP流 服务端1:live555 使用C++代码开发容易些,网上代码较多 服务端2:vlc播放器,参考使用vlc播放器做...

微信小程序-最新获取用户基本信息方案

如果只是单纯的展示用户信息,那么最简单的方案就是 文档中组件: <open-data type="groupName" open-gid="xxxxxx"></open-data> <open-data type="userAvatarUrl"></open-data> <open-data type...

Switch离线升级教程【自用】

想写这篇博客的原因还是因为自己发现明明已经自己通过大佬指导以及论坛教程指导,自己实践两次过了完整流程后,仍会因为相隔太久的固件更新而遗忘到底如何离线升级。当然这也是自己写的第一篇对于自己实用性较高的生活小技巧。 首先根据论坛大神的精华贴,为什么要对switch进行离线升级。首先升级很好理解,因为新游戏需要更新的系统支持下才能运行。因此在原生系统破解之后不足...