软件测试

软件测试基础

软件错误:软件系统的功能和性能与预期的功能和性能不一致。

软件测试: 是发现软件错误的过程。

IEEE定义软件测试:使用人工或自动的手段,运行或测定某个系统的过程,其目的是检验它是否满足规定的需求,或是清楚了解预期结果与实际结果之间的差异。

测试方案:测试目的、测试数据和预期结果

测试用例(Test Case):测试数据和预期结果

软件测试的目标

注意:软件测试不能用于证明软件没有错误。测试就是为了发现错误而执行程序的过程;好的测试方案是可能发现了至今尚未发现的错误的方案;成功的测试是发现了至今尚未发现错误的测试。

软件测试的准则

1:所有测试都应该能追溯到用户需求;:

2:在测试开始前制定测试计划;

3:把Pareto原理应用于软件测试:80%的错误很可能是由程序中20%的模块造成,应该孤立这些模块重点测试。

4:从小规模测试逐步扩大到大规模测试:单个模块-> 子系统-> 整个系统;

5:包含所有情况的穷举测试通常是不可能的;彻底测试程序是不可能的;测试只能表明软件中存在错误;测试不能表明软件中不存在错误。

6:为达到最佳测试效果,应由独立的第三方承担测试工作。

软件测试的方法

从测试设计方法(设计测试数据的方法)分类:黑盒测试(功能性测试),白盒测试(结构性测试)

从测试是手动还是自动分类:手动测试(人工走查(Walkthroughs+代码审查(Code Inspections));自动测试(利用自动化测试工具将大量的重复性工作交给计算机去完成

从测试目的分类功能测试:单元测试(单个模块测试)、集成测试(子系统测试(多个模块测试,着重测试模块间的接口和交互)、系统测试(全部模块测试))、确认测试也称验收测试(Alpha 测试(软件测试人员在真实用户环境中对软件进行全面的测试)、Beta 测试(真实的用户在真实的用户环境中进行的测试, 也叫公测)。非功能测试压力测试(验证软件在超过负载设计的情况下仍能返回正确的结果,没有崩溃)、性能测试、兼容性测试、软件安全性测试

按测试测策略分类:回归测试(Regression test在软件被修改之后,重新执行以前执行过的测试用例(全部或部分),以确保对软件的改动没有引入新的错误)、探索性测试(随机进行的,探索性的测试)、粗略测试(粗略的测试, 只需要执行部分的测试用例)

按测试的时机和作用分类:冒烟测试(如果测试不通过,则不能进行下一步工作)、验收测试(为了全面考核某功能/特性而做的测试)

测试阶段的信息流(注:排错也称调试)

测试过程

集成测试

1一次性集成(又称整体拼装非渐增式集成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值