系统测试是可有可无的。因为系统测试是和环境结合在一起。系统测试应该是在系统设计或者是需求分析阶段的前一步来完成的。


单元测试它的测试计划是在详细设计阶段完成。所以说单元测试的计划是在详细设计阶段来完成的。

模块接口的测试它保证了测试模块的数据流可以正确地流入和流出。模块接口可以保证它的数据流可以正确地流入和流出。测试模块接口要注意测试模块输入参数的形式在个数、属性、单位上是否一致。比如说这个模块它有五个接口参数:分别是什么类型,可以设计一些用例在调用这个模块的时候输入一些值。输入一些值来看看最终它出来的结果的单位啊这些东西是否一致,和原来的设计是否一致。

再要注意调用标准函数时所使用的参数。在属性、数目、顺序方面是否正确。如果用到了一些函数,是否正确地运用了这些函数。

还有全局变量在各个模块中它的定义和用法是否一致。

再有输入是否仅改变了形式参数。

还有开关语句是否正确。规定的I/O的格式(输入输出的格式)是否与输入输出的语句是一致的。我的设计与我的实现是否保持一致。使用文件之前是否已经打开了文件,或者是用了之后是否把它关闭了。这些都是模块接口部分需要注意的内容。


在单元测试阶段中局部数据结构出错是比较常见的错误。注意四个方面内容:第一,变量的说明是否合适。第二是否使用了没有赋值或者是没有初始化的变量。第三是变量的初始值或者是默认值是否正确。第四是变量是否有错,比如说拼写上的错误啊这些。


重要的执行通路。 在单元测试中对路径的测试是最基本的任务。由于我们不能够进行穷举的测试,由于它的单元里面模块里面它的路径比较多,很难做到覆盖到每一条路径。所以需要精心地设计测试例子来发现是否有计算啊比较啊或者是控制流这方面的错误。计算方面的错误主要指的是算术运算它的优先次序不正确或者是理解错误或者是精度不够这些方面的问题。还有的是比较或者是控制流这些方面的错误,比如说用if语句进行分支的时候就牵涉到了比较和控制流。本应该相等的那些量由于精度不够所以造成不等或者是不同类型进行比较或者是逻辑运算符不正确这些属于比较和控制流的错误。两个方面:一个是计算方面的,一个是比较和控制流方面的。这是对于重要的执行路径进行测试。


出错处理。错误的条件并且对错误进行处理。 对出错的有一条专门的路径给予提示给予正确的引导。


边界条件。 是单元测试的最后工作。软件或者是程序最容易出错的往往是在边界上面。所以在边界上面找错误也是最容易把这些错误发现出来的。


对模块进行测试不可能单独地就来测这个模块。被测的模块可能是系统中的中间模块,它是中间模块意味着它上层有模块,下层也有模块。中层模块所行使的功能往往就是执行上级下达的命令再把这些命令分发到下面进行具体的执行。执行完之后就有很多个结果反馈上来。然后呢它进行汇总再把结果反馈到上面去。所以测试不可能单独地测试中间模块,而且要涉及到它的上层模块和它的下层模块。如果单元测试的模块刚好它的上层模块和下层模块都没有做好,那就要设计驱动模块和桩模块它的替代品。处于被测模块上层的/领导层的就是驱动模块,就是驱使被测模块进行一些活动。而被测模块的它的下层模块叫做桩模块。我们要测试一个模块的时候要构造它的桩模块,也要构造它的驱动模块。


集成测试(组装测试).模块与模块之间不是孤立的,是有联系的。因为所有的模块经过单元测试之后测试无误之后再把它组装起来仍然有可能产生错误。几个模块组装起来之后没有达到预期的功能。模块与模块之间存在磨合问题,最后无法达到预期的效果。或者是单元测试注重的是局部数据结构的问题,而全局数据结构检查比较少。全局数据结构也有可能产生问题。另外一个模块在执行某一个任务的时候会有误差,但是误差是可以接受的。大型程序从上面到下面分了非常多的模块。每一个模块它的数据有一点点误差,一级一级把误差传下来的时候最后误差可能就很大了。组装测试通常用的是黑盒测试法。

黑盒测试法不涉及到程序的执行流程。只看了一个运行结果。相比单元测试基本上就用到了白盒测试法。 因为单元测试主要测试的时内部的一些结构,具体的一些运行步骤。所以单元测试一般用到的是白盒测试,而组装测试通常是用黑盒测试。

集成测试的测试计划是在概要设计阶段制定的。集成的方式又可以分为非增值式和增值式。非增值式它是指的首先对每一个模块分别进行模块的测试。然后再把所有的模块组装在一起进行测试,最终得到整个软件的系统。它是一次性进行组装来测试。把所有模块一次性组装好,它是非增值式。

增值式首先可以测一个顶层模块。测了一个顶层模块之后呢顶层模块底下有几个模块。我要增加一个子模块,把这两个模块当成一个整体来测试。测试完了之后没问题了再加第三个模块。把它们再重新测试一遍然后再加。一层一层这么加下来。系统就由原来的很小的一部分慢慢慢慢地扩大了。这个就是增值它的含义。

增值式它有几种具体的形式。分了自顶向下的增值方式。

自顶向下的增殖方式:首先测试最开始的一个模块。

转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/6936811.html

4.6.2 软件测试的步骤相关推荐

  1. 汽车软件测试的步骤,汽车点火系统的测试方法

    大家好,今天和大家分享汽车点火系统的测试方法. 一.系统的负载 被测点火系统的负载是一台包含数个三针放电器火花间隙装置.每一个火花间隙都可以单独调整,测试用火花间隙数要比分电器盖上的旁电极数少一个.以 ...

  2. 软件测试的方法和步骤

    软件测试的两种方法 答:黑盒测试和白盒测试 黑盒:这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明. ...

  3. 『软件工程12』软件工程实践方法——软件测试

    软件工程实践方法-- 软件测试 一.软件测试概述 1.软件测试的目的 (1)从用户和开发者角度 (2)Myers软件测试目的 2.软件测试的原则 3.软件测试的对象 4.测试信息流 5.测试与软件开发 ...

  4. 【软件测试】软件测试札记

    接口错误只有在集成测试和系统测试中才能发现. 软件需求是衡量软件质量的基础. 灵活性:修正软件所需要付出的工作量. 可测试性:为保证软件履行职能而测试所需要的工作量. 容错性:软件在非标准条件下继续运 ...

  5. 软件测试黑马程序员课后答案_软件测试教程课后答案

    软件测试教程课后答案 [篇一:软件测试习题答案] > 一.简答题和应用题: 1 测试人员面试题 01 .为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质 ...

  6. 从小白到中级高级软件测试工程师成长路线!--(上篇)

    很多同学私信问我,自学软件测试到底该如何下手,都说软件测试入门容易,为什么自己会卡住某个点上之类的问题,探究这样的问题,根本上还是学习的内容不够系统和全面,想到哪里就学哪里,对自己最终所要达到的目标一 ...

  7. 产品研发过程管理专题——软件测试的设计与组织

    摘 要 本文从产品设计和生产组织的角度来分析和讨论软件测试流程.软件测试文档.软件测试用例.规模化软件测试和规范化软件测试. 主题词 软件测试流程 软件测试角色 软件测试用例 规模化软件测试 规范化软 ...

  8. 这简直比高考容易多了...3个月自学转行软件测试,懒散人的一次自我突破!

    3个月转行软件测试,懒散人的一次自我突破,比高考容易多了 我是20年6月开始考虑转行这件事(原先是做运营的),19年5月公司内部转岗调整,同年12月原公司经营不善裁员,遇到疫情加跨年,整整在家歇了6个 ...

  9. 软件测试这篇就够啦~

    完整文档请移步 软件测试 一.软件测试概述 什么是软件测试?软件测试的目的? 软件测试技术是对软件产品进行验证和确认的活 动过程,其目的是尽快尽早发现软件产品中存在 的诸问题,包括错误.缺陷以及用户预 ...

最新文章

  1. (C++)CSP 201712-2 游戏
  2. 3 万小时——这是你一辈子花在开会上的时间
  3. Analog使用中的一些技巧和总结
  4. 英朗gt仪表盘图标说明_BuildRun低代码开发教程八节 | 图表和仪表盘展示
  5. DevExpress的TreeList怎样设置数据源,从实例入手
  6. 从头认识Spring-1.7 如何通过属性注入Bean?(1)-如何通过属性向对象注入值?...
  7. 【渝粤教育】广东开放大学 网络整合营销 形成性考核 (53)
  8. 开发高级 Web 部件
  9. 力扣——合并两个有序数组
  10. 谈谈我对Java并发的理解——读《Java并发编程实战有感》
  11. 如何在简历中编写Spark大数据项目经验
  12. 【转】科普贴:BIOS和UEFI的启动项
  13. matlab2015 colormap,matlab中colormap函数
  14. 清华刘知远:好的研究想法从哪里来?
  15. 【Autojs教程】03-Autojs 控件学习 | 淘宝关注店铺取消实战
  16. 微信小程序调用weUI库
  17. 自强脱贫•助残共享 2019第二十九个全国助残日在深圳举办
  18. weblogic相关问题
  19. 【转载】设置端口映射或DMZ主机---将内网web服务器映射入公网
  20. 微信里的APK链接接打不开怎么办?微信扫描二维码下载APK的解决方案

热门文章

  1. 第一章计算机网络概述答案,第一章 计算机网络概述[3]
  2. 如何给linux目录加密码,怎么只给一个文件夹的内容加密?
  3. java getrealpath_JavaEE路径陷阱之getRealPath
  4. c语言奇葩错误,6个奇葩的(hello,world)C语言版(转)
  5. 详解CSS选择器、优先级与匹配原理
  6. 不属于个人计算机范围的是,计算机应用基础模拟试卷2
  7. AIX的完整形式是什么?
  8. 按频率对元素进行排序
  9. java 方法 示例_Java ArrayDeque offerFirst()方法与示例
  10. Python---二分法查找