【软件工程】软件测试

这篇具有很好参考价值的文章主要介绍了【软件工程】软件测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【软件工程】软件测试,软件工程,软件工程,单元测试

软件测试的对象


软件=程序+文档
测试对象:各个阶段产生的源程序和文档。

软件测试的目的


基于不同的立场,对软件测试的目的存在着两种完全对立的观点。
(1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度);
(2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该软件中已正确地实现了用户的要求,因此,它们倾向于选取导致程序失败概率最小的测试实例和数据。
显然,第二种观点对完善和提高软件质量和可靠性毫无价值,因此测试的目的应该是通过软件测试尽可能多地发现并改正软件种存在的错误。

软件测试的定义


Glenford J. Myers把这一观点归纳为:
⑴测试是程序执行的过程,其目的在于发现错误。
⑵一个好的测试实例在于发现至今未发现的错误。
⑶一个成功的测试是发现了至今未发现的错误的测试。
因此,软件测试(Software Testing)是从引起和发现错误的目的出发执行某一程序的过程。

错误的类型


(1)功能错误:处理功能说明不完整或不确切,致使编程时对功能有误解而产生的错误。
(2)系统错误:与外部接口错误、子程序调用错误、参数使用错误等。
(3)过程错误:算术运算错误和逻辑运算错误
(4)数据错误:数据结构、实体、属性错误。
(5)编程错误:语法错误、程序逻辑错误、编程书写错误等。

软件测试过程模型


(1)测试设计
(2)测试执行
(3)测试结果比较

软件测试技术

测试法分为黑盒法和白盒法。


1.黑盒(Black-box Testing)法

黑盒法又称为功能测试法,它是根据程序功能的分析,推演出由函数
定义域中有代表性的元素组成测试集,这些数据应包括对程序是有效的和无效的输入,极端的、正常的和特殊的数据元素。因此,黑盒测试法是从外界来检查模块或程序的功能,也即根据模块的输入和输出,得出所得结果得差异。这种测试无须知道模块的内部逻辑,而是给定一输入,检查是否会得到所期望的输出。功能测试法又具体分为等价类法,边值分析法,因果图法和错误猜测法等。


2.白盒法

白盒法也称之为结构测试或逻辑覆盖法。它是根据对软件内部逻辑结构的分析,选取测试数据集(即测试用例:Testing Case),而测试数据集对程序逻辑的覆盖程度决定了测试完全性的程度。常用的几个覆盖标准有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。


【例题▪填空题】黑盒法又称为_______法,黑盒测试法是从外界来检查模块或程序的功能,也即
根据模块的输入和输出,得出所得结果得差异。
【答案】功能测试


路径测试技术(白盒测试)★依据的是程序的逻辑结构。


(1)控制流程图
基本元素:过程块、节点、判定。
链、路径的概念。
注意:控制流程图和程序流程图的差别。
(2)测试策略
a)路径覆盖:执行所有可能穿过程序控制流程的路径。最强的测试度量。
b)语句覆盖:至少执行程序中所有语句一次。最低的测试度量。
c)分支覆盖:至少将程序中的每个分支执行一次。
d)条件覆盖与条件组合覆盖
语句覆盖≤分支覆盖≤条件组合覆盖≤路径覆盖
(3)路径选取与用例设计
最小的强制性测试需求是语句覆盖率。

【例题】根据下列程序流程图,设计不超过2组的测试用例,使之满足语句覆盖,要求给出每组测试数据的执行路径、输入值、输出值及两个判定(3)和(5)的判定结果。

【软件工程】软件测试,软件工程,软件工程,单元测试
【解析】此类题目属于综合应用题(每题10分),考核知识点为路径测试技术。
在本题中,要求设计测试用例,满足语句覆盖,即所有语句都必须执行一遍。
A、B、C的值决定了程序执行的顺序
A、B、C的值执行顺序结果

【软件工程】软件测试,软件工程,软件工程,单元测试


路径选取的一般原则


(1)选择最简单的、具有一定功能含义的入口/出口路径
(2)在已选取的基础上,选择无循环的路径,选取短路径、简单路径
(3)选取没有明显功能含义的路径,要研究该路径为什么存在


基于事务流的测试技术


事务流测试的步骤


a)获得事务流程图
b)浏览、复审
c)用例设计
d)测试执行


等价类法
是根据程序的I/O特性,将程序的输入划分为有限个等价区段,使得从每个区段内抽取的代表性数据进
行的测试等价于该区段内任何数据的测试。对于每个输入条件存在着程序有效输入的有效等价类和对程序错
误输入的无效等价类。例如,某实数X的取值范围假设为a<X<b,则所有[a+1,b-1]之间的实数构成了有效
等价类,而任何[-∞,a]或[b,+∞]之间的实数构成了两个无效等价类。


边值分析法


是一种根据I/O边界等价类上或紧靠边界的条件,选择测试用例的更有效的方法。例如,给定三个点,
判定能否构成三角形,可选取两边之和等于第三边的实例作为边值分析法的测试用例。


【例题】有一个学生选课系统:程序的输入条件为:每个学生可以选修1至3门课程,试用黑盒测试法完成
测试。
(1)按等价类划分法,设计测试用例(要求列出设计过程);
(2)按边界值分析法,设计测试用例。


【解析】
(1)等价类法:
课程门数<1 
课程门数>3 
课程门数1~3 
(2)边界值分析法
课程门数=1 
课程门数=3 


因果图法


是通过从用自然语言书写的功能说明表中找出因—输入条件和果—输出结果,通过因果图将功能说明转
换成一张判定表,然后为每种输出条件的组合设计测试用例。
错误推测法是根据测试人员的经验和直觉推测程序种可能存在的各种错误。
 

软件测试步骤


软件测试是按照与系统开发相反的方向来进行的。依次为:单元测试(模块测试)、集成测试、有效性测试和系统测试

1.单元测试


单元测试(Unit Testing)又称模块测试(Module Testing),或模块分调,用于测试单个程序模块,确定模
块的逻辑和功能是否正确。
单元测试采用白盒测试技术。
(1)模块接口
(2)局部数据结构
(3)重要的执行路径
(4)错误执行路径
驱动模块和承接模块。

2.集成测试


集成测试(Integration Testing)用来测试模块之间接口的正确性,也即模块之间的数据和控制传递。集成测
试是与单元测试平行进行的。
集成测试采用黑盒测试技术。
(1)自顶向下的集成测试:需要设计承接模块
(2)自底向上的集成测试:需求设计驱动模块

3.有效性测试


目的:发现软件实现的功能与需求规格说明书不一致的错误。
方法:采用黑盒测试技术


 文章来源地址https://www.toymoban.com/news/detail-649334.html

到了这里,关于【软件工程】软件测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【软件工程】软件测试

    软件=程序+文档 测试对象:各个阶段产生的源程序和文档。 基于不同的立场,对软件测试的目的存在着两种完全对立的观点。 (1)一种观点是通过测试暴露出软件中所包含的故障和缺陷(从用户的角度); (2)另一种是希望测试成为表明软件产品中不存在错误的过程,验证该

    2024年02月13日
    浏览(42)
  • 软件测试03:软件工程和软件生命周期

    软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 基本软件危机对于计算机发展的阻碍,1968年,在联邦德国召开的国际会议,北大西洋公约组织的计算机科学家讨论软件危机问题。提出了 软

    2024年02月08日
    浏览(39)
  • 【软件工程】自动化测试保证卓越软件工程能力(3)

    对照目标系统,如下:  给出自动化测试平台目标如下: Case level Case brief Report send to OVERALL User 1 - Process - Customer 1 Boss Level 1 User 1 - Process - Customer 1 User 1 - Process - Customer  2 User  2  - Process - Customer 1 ... Manager, Some users, Developers, Testers Level 2 User 1 - Igeress - Process - Router - Sender 1

    2024年02月04日
    浏览(38)
  • 软件工程之软件测试(考试复习篇)

      理解软件危机,及其产生的原因。 软件危机:落后的软件生产技术难以满足增长的计算机需求。开发过程碰到的一系列问题。 产生原因:预算、速度、质量低、不能满足需求,混乱杂乱的,维护困难。 (2)软件测试定义: 为了发现错误。 (3)软件质量属性,ISO9126。 功

    2024年02月06日
    浏览(52)
  • 软件工程导论 黑盒测试、白盒测试

    集中检测软件设计的最小单元(即 模块 )。 模块接口 局部数据结构 重要执行通路 出错处理通路 边界条件 一次审查可以发现多个错误,可以减少系统验证的总工作量。 将程序作为一个 整体 ,对错误的定位和改正十分困难。 自顶向下集成 从主控程序模块开始,沿着程序控制

    2023年04月22日
    浏览(36)
  • 【软件工程】测试一

    软件产品与物质产品有很大的区别,软件产品是一种()产品。 A. 有形 B. 消耗 C. 逻辑 D. 文档 正确答案: C 在()年的NATO会议上,软件工程的术语被首次提出。 A. 1966 B. 1968 C. 1970 D. 1972 正确答案: B 软件开发中实现映射的基本手段是() A. 抽象 B. 分层 C. 隔离 D. 建模 下列

    2024年02月11日
    浏览(38)
  • 【软件工程】测试三-2

    软件测试的目的是()。 A. 试验性运行软件 B. 发现软件错误 C. 证明软件正确 D. 修改软件中出现的错误 正确答案: B 被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,这种测试称为()。 A. 白盒测试 B. 黑盒测试 C. 静态测试 D. 动

    2024年02月11日
    浏览(40)
  • 【软件工程】测试二

    获取正确软件的关键是() A. 开发逻辑 B. 开发团队 C. 人员素质 D. 明确需求 正确答案: A 瀑布模型的关键不足在于() A. 过于简单 B. 各个阶段需要进行评审 C. 过于灵活 D. 不能适应需求的动态变更 正确答案: D 按照(),可以将软件生存周期过程分为基本过程、支持过程和

    2024年02月10日
    浏览(32)
  • 【软件工程】测试四

    结构化设计的目标是() A. 建立系统软件模型 B. 建立软件体系结构和详细的处理算法 C. 产生设计规格说明书 D. 以上全部 正确答案: D 总体设计不包括() A. 体系结构设计 B. 接口设计 C. 数据设计 D. 数据结构设计 正确答案: D 模块结构图中,如果两个模块之间有直线连接,

    2024年02月10日
    浏览(34)
  • 软件测试工程师

    一、什么是软件测试? 1、定义:使用技术手段验证软件是否满足使用需求 2、目的:减少软件缺陷,保障软件质量。 二、主流技术: 1、功能测试:验证程序的功能是否满足需求 2、自动化测试:使用代码或工具代替手工,对项目进行测试 3、接口测试:有硬件接口、软件接

    2023年04月10日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包