软件测试:40%工作量
测试横跨2个阶段:
1.在编写出每个模块就要进行必要的测试—编写和单元测试
2.对软件系统进行各种综合测试
测试的目标:发现软件中的错误

软件测试基础

软件测试准则



pareto原理:80%的错误由20%的程序造成的
最佳效果:最大可能性发现错误的测试

测试方法

  1. 黑盒测试 = 功能测试
    完全不考虑内部的处理方法和结构,只检查功能是不是按说明书正规使用

    2.白盒测试 = 结构测试
    知道程序的结构和处理方法,按内部逻辑测试,主要执行通路是不是按说明书执行

测试步骤


详说单元测试

单元=模块(模块是软件设计的最小单元)
单元测试使用白盒测试方法

5个测试重点

测试阶段的信息流


代码审查

当一个单元测试完了要进行代码审查
由一个审查小组进行

代码测试比计算机测试优越的地方在于:一次审查会上可以检查出许多错误;用计算机测试方法发现错误之后,需要改正这个错误才能继续测试,错误一个一个发现并改正的

计算机测试


驱动程序是主程序,接受测试数据,传给模块,印出结果
说白了 : 把小模块抽出来,用驱动程序运行测试,因为小模块不是独立程序,需要调用

存根程序代替被测试的模块所调用的模块(即下层模块),目的是为了简化下层模块

驱动程序和存根程序代表开销,为了减少开销,可以使用下面的集成测试方法。
模块的内聚程度高可以简化单元测试过程,因为每个模块只完成一个功能,则需要测试方案数目将减少。

集成测试

将所有模块集成,然后测试所有

将模块组成程序有两种方法:
非渐增式和渐增式
评价:

  1. 非渐增式 – 将所有模块作为一个整体,当面对非常复杂的情况时,会遇到许多错误
  2. 渐增式 – 将程序划分成小分,容易定位错误和改正,可以使用系统化的测试方法














    不同集成测试的比较:
    自顶向下:
    优点-- 不需要测试驱动程序,能够在测试阶段早期实现并验证系统的主要功能,能在早期发现上层模块的接口错误
    缺点-- 需要存根程序,低层模块发现问题晚,在早期不能充分展开人力。

自底向上
优缺点相反

回归测试
在集成测试过程中每当一个新模块进来时,程序发生变化。回归测试指重新执行已经做过的测试的某个子集。


确认测试通过黑盒测试

7.5.2 软件配置复查—测试完了保证文档同步
目的:保证软件配置的所有成分都齐全,
质量符合要求,文档与程序完全一致,而且已
经编好目录。


输入信息有两类:

  1. 软件配置:需求说明书、设计说明书
  2. 测试配置:测试计划、测试方案

如果测试错误—调试—调试由程序编写者修改

软件工程 --第七章 -- 实现(未完)相关推荐

  1. 软件工程 第七章:活动图

    第七章:活动图 关于状态机 状态机是UML为软件对象的动态行为进行建模的手段之一. 它描述:软件对象在处理外部发生的事件时产生的动作和由此导致的软件对象的状态的变化,并以此刻画软件对象的动态行为. 软 ...

  2. 现代软件工程 第七章 【MSF】练习与讨论

    7.7  移山开发方法--比TFS敏捷更精简 几个软件学院的学生来请教阿超,同学们自豪地说,我们要用全套TFS敏捷开发模式开发项目! 真的?阿超不敢相信. 同学: 对!我们要用全5个工作项类型 – 任 ...

  3. 碧水风荷录-第一章(未完,正在整理中……)

    茫茫的夜色中,巍峨的嵩山显得更加苍老.夜色渐淡,晨意渐浓,一缕曙光从天边射出. 寺中的弟子已经起床了,此时已经开始忙个不停.有的练功,有的忙着提水,还有的忙着做斋饭. 浓浓的晨雾刚刚退散,从方丈室中走 ...

  4. Python数据结构与算法分析(第二版)答案 - 第一章(未完)

    本人手写或借阅资料,仅供参考,有错误欢迎指正. #1.1 Fraction(分数)的getNum()以及getDen() #1.2 所有分数一开始就是最简形式 #1.3 实现下列简单的算术运算:__s ...

  5. 软件工程复习提纲——第七章

    软件工程复习提纲,期末.考研的学霸笔记 第七章--维护 第七章维护 1.维护的定义:软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程. 1)四类维护活动: (1)改正性维护 (2)适应 ...

  6. 学完oracle 再学mysql_一篇文章让Oracle程序猿学会MySql【未完待续】

    一篇文章让Oracle DB学会MySql[未完待续] 随笔前言: 本篇文章是针对已经能够熟练使用Oracle数据库的DB所写的快速学会MySql,为什么敢这么说,是因为本人认为Oracle在功能性方 ...

  7. 软件工程 张秋余等著 第七章课后习题部分答案

    第七章 面向对象方法学 什么是面向对象?有哪些基本概念?举例说明其基本特征. 正确答案: 第1问:面向对象(object-oriented,OO):是一种具体的软件开发技术与策略:也是一整套关于如何看 ...

  8. 《图解 HTTP》读书笔记(未完待续)

    ARP 协议(Address Resolution Protocol)一种以解析地址的协议,根据通信双方的 IP 地址就可以查出对应的 MAC 地址. MAC( Media Access Contro ...

  9. pythonb超分辨成像_Papers | 超分辨 + 深度学习(未完待续)

    1. SRCNN 1.1. Contribution end-to-end深度学习应用在超分辨领域的开山之作(非 end-to-end 见 Story.3 ). 指出了超分辨方向上传统方法( spar ...

最新文章

  1. ateq测漏仪f620说明书_上海壁挂式测漏仪安全使用说明,煤气房报警器安装安全使用说明...
  2. 学习Netflix管理员–第2部分
  3. 第13届年度Webby奖采用Silverlight / 13th Annual Webby Awards powered by Silverlight
  4. 低代码发展专访系列之六:低代码平台能解决业务重构的问题么?
  5. activiti 多部门审批_Activiti 基本介绍
  6. java数组重复_JAVA数组去除重复数据
  7. java jdk 文档下载_JDK8 API文档(下载)
  8. J1939CANTP
  9. 2010年中兴面试题
  10. 51单片机洞洞板用的visio图_怎样用洞洞板焊接一个向STC80c51或者AT89C51单片机里面烧录程序的电路板?...
  11. python 换国内源
  12. 面试关于网络的那些事
  13. 牛逼的黑客也得找工作,他们靠的是黑掉公司网站?
  14. 4、Linux:如何在zip压缩文件中搜索指定内容
  15. 虚拟现实在医学领域的应用和发展前景
  16. 手把手教你实现一个「以图搜图」
  17. 密码必须包含至少一个大写一个小写一个数字一个特殊字符的正则
  18. FFmpeg中调用av_read_frame函数导致的内存泄漏问题
  19. UML画图文档之汇总
  20. 1.2生成树协议STP

热门文章

  1. [内核编程] 内核环境及其特殊性,驱动编程基础篇
  2. 图片优化_Web 性能优化: 图片优化让网站大小减少 62%
  3. affine工程难点、亮点汇总
  4. 插入箭头_“PPT立体箭头”这样做
  5. 虚拟主机搭建微信公众号服务器,建web服务器同时如何搭建虚拟主机?方法有几种?...
  6. php 调用 perl,perl中如何调用R语言
  7. 一个简单好用的java增量更新工具
  8. 前端小白也能快速学会的博客园博客美化全攻略
  9. [异常记录] Error: Could not find header file for MYSQL
  10. 在VMware Workstation中批量创建上千台虚拟机(上)