哈工大软件构造-课程知识总结2-软件测试

软件测试,是一个鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行相应操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。


一.什么是软件测试

软件测试是提高软件质量的重要手段,用于确认是否达到可用级别。与“快乐”的构建阶段相比,软件测试是充满“负能量”的,因为它的主要目的就是发现错误。同时值得注意的是,再好的测试也不能证明系统中不存在错误。

软件测试也有许多不同的测试阶段,从单元测试,到集成测试、系统测试以及最后的回归、验收测试。

从测试手段的不同,也可分为动态测试和静态测试。

我们常见的测试方法有黑盒测试和白盒测试。

黑盒测试又称功能测试。在测试过程中,我们把程序看作漆黑的盒子,无法观察内部状态。也就是在完全不考虑任何内部结构和性能的情况下为程序传入参数,然后去查看程序输出是否符合预计要求,通常这时候我们需要多此测试才得出结论。黑盒测试的特点在于不需要我们中间参与编写任何代码,只需通过传入各类输入来研究其输出状态。

白盒测试又称结构测试。在测试过程中,我们把程序看作透明的盒子,我们能够清楚的观察到盒子内部的代码和结构。我们在使用白盒测试的时候,测试人员必须检查程序的内部结构,而要从检查程序的逻辑开始,一步一步的检查传入参数并查看程序的运行过程和输出结果,最终得出测试结论。因此“白盒测试”也叫做叫穷举路径测试。

实际上,在庞大的项目工程中,出错是不可避免的,与其想着绝不能让代码出错,不如转变心态,用“让其出错”和“尽快出错”作为写高质量代码的日常法宝。

二.测试用例和测试优先编程

测试用例即是输入、执行条件、期望结果的组合。

良好的测试用例是软件项目中的宝贵资产。

而在测试优先编程中,测试程序先于代码完成,这能大大减小测试成本,节省测试时间。

其主要步骤如下:

  1. 为函数编写规格说明

  1. 根据上述规格说明编写测试用例

  1. 编写实际实现代码

三.单元测试和Junit

单元测试是针对软件的最小单元模型开展测试,隔离各个模块,更容易定位错误和调试。

而Junit就是java语言中非常好用的单元测试框架。

在导入Junit.jar工具包后,在要测试的类旁生成新的测试类,并以@Test打头进行测试声明,以形如下图的方式进行单元测试。

一个测试单元是以一个方法写出的,通常含有对测试的模块进行的一次或多次调用,同时会用断言检查模块的返回值,比如assertEquals,assertTrue和assertFalse等等。如果一个测试断言失败了,它会立即返回,并由Junit记录这次测试的失败,在具有多个测试方法的测试类中,一个失败并不会打断其他测试的执行。

上述即为我对软件测试的一点理解,希望能在巩固自身掌握的同时为其他阅读者带来一点收获。💪

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值