什么是软件测试及其目标

本篇用到的英文:
【Correctness】正确度
【Completeness】完全度
【Quality】质量
【SQA】Software Quality Assurance 软件质量保证
【Verification】验证
【Validation】确认
 
       软件测试定义是:为了发现程序中的错误而执行程序的过程
 
              它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality)的软件过程;是SQA(softwarequality assurance)的重要子域。

              软件测试的目标:

              (1)测试是为了发现程序中的错误而执行程序的过程;
              (2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
              (3)成功的测试是发现了至今为止尚未发现的错误的测试。

              软件测试的内容:

              软件测试主要工作内容是验证(verification)和确认( validation),下面分别给出其概念: 

              验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。(Dothe right thing)
              1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
              2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程;
              3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。

              确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Doit right)
              1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
              2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
              软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。

              从不同的角度出发,软件测试可以划分为不同的分类:

              从是否关心软件内部结构和具体实现的角度划分 
              A.白盒测试 
              B.黑盒测试
              C.灰盒测试

              从是否执行程序的角度
              A.静态测试
              B.动态测试。

              从软件开发的过程按阶段划分有
              A.单元测试
              B.集成测试
              C.确认测试
              D.验收测试
              E.系统测试
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值