软件测试基础篇

软件测试的定义

  • 证明软件不存在错误的过程
  • 证明程序能够正确运行的过程
  • 验证软件功能是否满足用户需求的过程

软件测试的定义随着发展而不断扩展,但软件测试最基本的活动就是找bug。

不同的定义只是说明了测试的目的以及如何来衡量测试是否成功。

软件测试的发展

  1. 软件调试
  2. 独立的软件测试(1950~)
  3. 软件测试的第一次定义(1973~Bill Hetzel),软件测试就是对程序能够按预期的要求运行建立起一种信心
  4. 软件成为专门的学科(1980~)
  5. 开发与测试的融合(2000~)

测试与调试的区别

  • 目的不同
    测试的任务是发现程序中的缺陷;调试的任务是定位并且解决程序中的问题。
  • 参与角色不同
    测试主要是由测试人员和开发人员来执行,黑盒测试主要由测试人员完成、单元/集成测试主要是由开发人员执行。调试由开发人员完成。
  • 执行的阶段不同
    测试贯穿整个软件开发生命周期,调试一般在开发阶段。

软件测试的目的和原则

目的:验证软件有或没有问题。
原则:以客户为中心,遵循软件测试的规范、流程、标准和要求。

通过分析错误产生的原因、阶段及错误发生的趋势。测试可以:

  • 帮助项目管理者了解当前软件开发过程中的缺陷,以便及时纠错、改进。
  • 帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
  • 让开发人员知道错误产生的重灾区,加强自测试。
  • 让客户清楚我们可以向他们提交一份满意的答卷。

根据测试的目的,测试可以分为两类:

  • 为了验证程序能正常工作的测试;
  • 为了验证程序不能正常运行的测试

测试用例

测试过程中可能会遇到以下问题:

  • 不知道是否较全面的测试了所有功能
  • 测试的覆盖率无法衡量
  • 对新版本的重复测试很难实施
  • 存在大量冗余测试,影响测试效率

测试用例的产生就是为了解决上诉问题。

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

开发模型和测试模型

瀑布模型(Waterfall Model)

瀑布模型在软件工程中占有重要地位,是所有其他模型的基础框架。
在这里插入图片描述

优点:

  • 强调开发的阶段性;
  • 强调早期计划及需求调查;
  • 强调产品测试。

缺点:

  • 依赖于早期进行的唯一一次需求调查,不能适应需求的变化;
  • 由于是单一流程,开发中的经验教训不能反馈应用于本产品的过程;
  • 风险往往在后期的测试阶段才显露,因而失去及早纠正的机会。在前期阶段未发现的错误会传递并扩散到后面的阶段,而在后面阶段发现这些错误时,可能已经很难回头再修正,从而导致项目的失败。
  • 可以运行的产品很迟才能被看到。这会给项目带
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值