1、软件测试的目标
尽可能多地发现并排除软件中潜藏的错误,最终给用户一个高中质量的软件系统。

2、软件测试的定义
为了发现程序中的错误而执行程序的过程

3.、软件测试的原则
①所有测试都应追溯到需求
②尽早地和不断地进行软件测试
③测试用例应该由测试输入数据和与之对应的预期输出结果两部分组
④程序设计者应避免测试自己的程序
⑤测试用例应当包括合理的输入数据和不合理的输入数据
⑥充分注意测试中的群集现象
⑦严格执行测试计划,排除测试的随意性
⑧对每个测试结果做全面检查
⑨在测试程序时,不仅要检验程序是否作了该做的事,还要检验程序是否作了不该做的事
⑩妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便

4、软件测试的过程
软件测试分为四个过程:单元测试、组装测试、确认测试和系统测试
单元测试是指对软件最小单元的测试,其目的在于发现模块内部可能存在的错误
组装测试也称集成测试,是将模块组装成子系统进行测试
确认测试用于验证功能特性及其他性质是否与用户的要求一致
系统测试是将通过测试的软件在实际运行环境下进测试

5、软件测试的方法
软件测试首先分为静态测试和动态测试
静态测试就是人工阅读审查,包括桌前检查、代码会审、走查。
动态测试则分为黑盒测试和白盒测试
黑盒测试是将程序看成一个不透明的盒子,测试时完全不考虑内部实现细节,而是根据说明书中所给的功能,来设计测试用例检查程序是否符合要求。主要技术有:等价类划分法(将输入的内容划分为有效等价类和无效等价类,设计测试用例覆盖所有的等价类)、边界值法(找出输入的边界,在边界的两侧和边界上分别设计测试用例进行测试)、错误推断法(根据经验进行推测)、因果图法、决策表法、场景法、正交试验法。
白盒测试则是将程序看成一个透明的盒子,根据内部逻辑来设计测试用例进行测试。主要技术有:语句覆盖(设计测试用例让程序的所有语句执行一次)、判定覆盖(设计测试用例让每个分支的所有路径执行一遍)、条件覆盖(让分支中的每个判定条件的所有选择都执行一遍)、判定/条件覆盖(不仅满足每个判定内部条件都执行一边,还要满足每个判定成立于不成立都执行一遍)、条件组合覆盖(每个判定内部的条件的所有可能情况都执行一遍)、路径覆盖(程序的所有可能路径都执行一遍)、基本路径测试(找出基本路径进行测试)、条件测试、循环测试。
https://blog.csdn.net/weixin_43849505/article/details/104748756

6、软件调试
软件调试的目的是根据测试时发现的错误,找出错误位置并且改正。主要技术有:强行排错、回溯法、演绎法、归纳法、对分法。
调试的两个原则:查错原则、排错原则。

7、软件可靠性
软件可靠性是在程序给定的时间间隔内,按照说明书规定成功运行的概率。可靠性随着给定时间的时间间隔的加大而减小。

软件工程导论 07章软件测试相关推荐

  1. 软件工程导论-实验报告-软件测试

    软件工程导论-实验报告-软件测试 [问题描述] 一元二次方程式 ax2+bx+c=0的求根程序有以下功能: 1)输入A.B.C三个系数: 2)根据根的性质的:两个相等或不相等的实根,或无实根,输出相应 ...

  2. 软件工程导论 1-13章 重点定义及解释

    软件工程导论 第一章 概述 第二章 可行性研究 第三章 需求分析 第五章 总体设计 第六章 详细设计 第七章 实现 第八章 维护 第九章 面向对象方法学引论 第十章 面向对象分析 第十一章 面向对象设 ...

  3. 软件工程导论 01章软件工程学概述

    1.软件是程序.数据以及各种相关文档的集合. 程序是对计算任务的处理规则的描述,数据是对计算任务的处理对象的描述,文档则是有关计算机程序功能.设计.编制与使用的文字图形资料. 软件等于程序加数据加相关 ...

  4. 软件工程导论 05章总体设计

    1.典型的总体设计步骤: ①确定最佳方案 ②功能分解 ③体系结构设计 ④模块设计 ⑤数据结构与数据库设计 ⑥用户界面设计 ⑦设计完成设计文档 ⑧评审 总体设计的目的:概括地回答系统应该如何实现这个问题 ...

  5. 软件工程导论 00章数据流图与数据字典

    1.数据流图的概念 数据流图用于描述信息流和数据从输入移动到输出过程中所经受的变换 2.数据流图的绘制: ①基本图形符号 ②数据流之间的关系 ③几个特定名词 a. 数据流 是数据在系统内传播的路径,由 ...

  6. 软件工程导论 09章面向对象方法学

    1.面向对象方法学的出发点和基本原则,是尽可能摸清人类习惯的思维方式,让开发方法和过程尽可能接近人类认知世界的方法与过程. 面向对象方法=对象+类+继承+消息实现通信 2.面向对象方法的要点: ①面向 ...

  7. 软件工程导论 08章软件维护

    1.软件维护是指在软件已经交付使用后,为了改正错误或者满足新的需求而修改软件的过程. 2.软件维护分为四类 ①改正性维护(修改诊断隐藏的错误) ②适应性维护(适应环境变化而修改软件) ③完整性维护(扩 ...

  8. 软件工程导论 06章详细设计

    1.结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序.选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的.(尽可能少使用GOTO语句,最好只在检测 ...

  9. 软件工程导论 03章需求分析

    1.需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答"系统必须做什么"这个问题.功能需求是系统的基本需求,但是并不是唯一需求,在需求分析时还需要分析其他的需求. 需求 ...

最新文章

  1. 一文带你领略JS中原型链的精妙设计!
  2. 盒马鲜生,快而准确的秘密!
  3. MySQL的4大版本
  4. PCA、SVD、ZCA白化理论与实现
  5. JFFS2文件系统挂载过程优化的分析报告
  6. 深度linux 转中文,Linux Deepin 中文Linux系统的新希望?
  7. python post form data_python实现发送form-data数据的方法详解
  8. 计算机语言中字体的设置,font-style字体设置详解
  9. Java Web学习总结(36)——JavaEE知识体系及项目开发过程的总结
  10. Deeplabv3+-训练自己的数据集
  11. 看了这么多代码,谈一谈代码风格!
  12. java多线程-线程安全
  13. 河南双轨制直销系统开发推荐奖介绍
  14. SPSS 25软件安装教程
  15. Spark安装和编程实践(Spark2.4.0)
  16. 【疑难杂症】三步解决虚拟机启动失败,提示无法获取VMCI驱动程序的版本的问题
  17. Python-实现九宫格
  18. day02-08 python基础语法
  19. python的文件操作、模块操作、os模块、time、datatime模块以及模块的制作
  20. Arduino+sim900发送短信例程代码

热门文章

  1. Cardboard开发教程:使用Unity制作Cardboard全景图片浏览器
  2. 博弈论重要算法:Sprague-Grundy 定理 (SRM 561 Div1 550)
  3. Qualitative and Quantitative
  4. mysql日志备份的脚本_脚本备份MySQL数据库和binlog日志
  5. Powerdesigner导出ORACLE形式sql文件遇到的问题总结
  6. bzoj 3513: [MUTC2013]idiots FFT
  7. 【Codeforces Round #442 (Div. 2) C】Slava and tanks
  8. Go -- 并发编程的两种限速方法
  9. 仿百度地图全景小球旋转
  10. OGC 开放地理信息系统协会