软件测试——软件测试理论基础_ni7

软件测试原则的说明:

为什么不能完全进行测试:1输入量太大;2输出结果太多;3路径组合太多。

穷举测试是不可能的,越到测试后期,为发现错误所付出的代价就会越大,因此更据测试错误的概率以及软件可靠性要求,确定最佳的停止测试时间,我们不能无休止的测试下去。

测试无法显示软件潜在缺陷:测试只能证明软件存在错误,而不能证明软件没有存在错误。

充分注意测试群集现象:某一程序模块似乎比其他模块有更多的错误倾向,则应当花费时间和代价测试这个程序模块。

程序员应该避免检测自己的程序。

尽量避免测试的随意性:从工程角度理解软件测试,它是有组织、有计划、有步骤的活动

软件测试对象:

软件测试的对象:需求分析;概要设计;详细设计;程序编码;等各阶段得到的文档,包括需求规格说明,概要设计规格说明,详细设计规格说明,以及源程序。

测试对象的说明:

编码结束后,对编写的每一个程序模块进行测试:单元测试、单元测试。

模块集成后的测试:集成测试,部件测试

集成测试后需要检测与证实软件是否满足软件需求说明书规定的要求确认测试。

整个程序模块集成为软件系统安装在运行环境下,对硬件、网络、操作系统、支撑平台构成的整体系统进行测试:系统测试。

软件分析,设计与开发各个阶段都是相互衔接的,前一阶段工作中发现的问题未能解决,很自然要影响下一阶段。

统计表明:需求分析和软件设计的错误占64%,属于程序员编写的错误仅占36%。

验证工作保证软件正确实现某一特定功能的一系列活动和过程,目的是保证软件软件生命周期的每一个阶段性成果满足于上一个阶段所设定的目标。

确认工作确认保证软件满足用户需求的一系列活动和过程。目的是软件开发完成后保证软件与用户需求相符合。

验证和确认都属于软件测试,它包括对软件分析,设计以及程序的验证和测试。

软件测试的分类:

按照开发阶段划分:单元测试;集成测试;系统测试;确认测试;验收测试

单元测试:模块测试,对程序模块正确性进行检验,目的性在于检查程序单元是否正确实现详细设计说明中的模块功能,性能,接口,设计约束条件等要求,从而发现模块内部可能存在的各种错误。

单元测试需要从内部结构出发设计测试用例多个模块可以平行的独立的进行单元测试

集成测试:组装测试,在单元测试的基础上,对所有模块进行有序的,递增的测试,集成测试是检验程序单元口或者部件接口的关系,逐步集成为符合概要设计要求的程序部件或者整个系统。

集成测试包含冒烟测试(版本测试、提交测试)目的是功能集成的稳定性。

确认测试:通过检验和提供客观证据,证实软件是否满足特定预期用途的需求,是否满足需求说明书中规定的要求。

系统测试目标:验证和确认系统是否达到其原始目标,而对集成的硬件和软件进行测试。在真实的或模拟系统运行的环境中,检查完整的程序是否和系统(包括硬件、外设、网络、系统软件、支持平台)正确的配置连接,并满足用户需求。

验收测试:按照项目任务书或者合同,供需双方约定的验收依据文档进行的对整个系统的测试和评审,确认是否接收或者拒收系统。

按照测试实施计划划分:开发测试(α测试),用户测试(β)测试,第三方测试

开发方测试:开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求,主要是指在软件开发完成以后,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。

用户测试:在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试不是指用户的“验收测试”,而是指用户的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。

β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。

第三方测试:独立测试软件质量工程强调开展独立验证和确认(IV&V)活动。IV&V是由在技术、管理和财务上与开发组织具有规定程度独立的组织执行验和确认过程。软件第三方测试也就是由在技术、管理和财务上与开发方和用户方相对独立的组织进行的软件测试。一般情况下是在模拟用户真实应用环境下,进行软件确认测试。

按照测试技术划分:白盒,黑盒,灰盒测试 也可划分为静态测试和动态

静态测试是指不运行程序,通过人工对程序和文档进行分析与检查:静态测试技术又称为静态分析技术,静态测试实际上是对软件中的需求说明书、设计说明书、程序源代码等进行非运行的检查,静态测试包括:走查、符号执行、需求确认等。

动态测试是指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序外部表现

实现测试方法上既包括了动态测试也包括了静态测试。

白盒测试通过对程序内部结构的分析、检测来寻找问题。

黑盒测试:通过软件的外部表现来发现其缺陷和错误,完全不考虑程序内部结构和处理过程,检查样序是否按照需求规格说明书的规定正常实现。

灰盒测试灰盒测试关注输出对于输入的正确性;同时也关注内部表现它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。

开发文档和源程序可以应用单元测试应用走查的方法;单元测试可应用白盒测试方法;集成测试应用类似灰盒的手法,系统测试和确认测试用黑盒的测试手法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值