软件测试-实验6
软件测试方案

测试执行、监控、修复与报告制度:确保软件质量与性能持续改进软件测试方案一、测试需求分析测试需求分析是软件测试的第一步,其主要目标是明确测试的目的、需求和范围。
在此阶段,测试团队需要与开发团队、业务专家等相关人员进行密切的沟通和讨论,以了解软件系统的功能需求、性能需求、兼容性需求等。
具体来说,测试需求分析主要包括以下工作:1.确定测试目标:明确软件测试的目的和要解决的问题,例如功能验证、性能测试、安全测试等。
2.收集需求:通过与开发团队、业务专家等的沟通,明确软件系统的需求和特性。
3.梳理测试需求:将收集到的需求整理成测试需求文档,明确每个需求的测试点、测试类型、优先级等。
4.确认测试需求:与开发团队、业务专家等共同确认测试需求文档,确保测试范围和目的的准确性。
二、测试计划制定在明确了测试需求后,需要制定详细的测试计划,以确保测试工作的有序进行。
测试计划主要包括以下内容:1.确定测试策略:根据软件系统的特性和需求,选择合适的测试策略,如黑盒测试、白盒测试、灰盒测试等。
2.确定测试资源:明确测试团队的人员构成、时间安排、设备等资源,以确保测试工作的顺利进行。
3.制定测试计划:根据测试需求、策略和资源,制定详细的测试计划,包括测试环境、测试进度、测试方法、预期结果等。
4.确认测试计划:与相关人员确认测试计划,确保计划的可行性和可执行性。
三、测试用例设计测试用例是软件测试的核心,其设计质量直接关系到测试的准确性和效率。
在测试用例设计阶段,我们需要根据测试需求和计划,设计针对不同需求的测试用例。
具体来说,测试用例设计主要包括以下内容:1.确定测试用例框架:根据测试需求和计划,确定测试用例的框架和结构。
2.设计测试用例:针对每个测试需求,设计详细的测试用例,包括输入数据、操作步骤、预期结果等。
3.评审测试用例:组织相关人员对测试用例进行评审,以确保测试用例的准确性和完整性。
4.完善测试用例:根据评审结果和完善意见,完善测试用例,确保其质量和可执行性。
软件测评方案

1.测评概述软件测评主要是指对软件进行评估,从而得出关于软件质量、可用性、可靠性、适用性以及安全性等方面的结论,而软件测评开展的依据性文件主要包含基于国标或者基于相关国军标文件而来;本文档主要探讨基于国标文件的软件测评通用方案,主要详细介绍软件测评过程中需要使用到的软件测试类型。
2.测试类型2.1.功能测试功能项测试:分析最主要的业务,根据需求规格说明书,比较是否实现全部功能且与需求一致。
体现为测试项的充分性覆盖到需求中的每一个要求。
数据库功能测试:web 是否实现对数据库的增、删、改、查功能。
通过进行无效数据值删除、修正等操作测试系统是否支持处理无效值。
通过填充缺失值或删除缺失值对应数据条目等操作测试系统是否支持处理缺失值。
通过合并重复数据或者删除重复数据等操作测试系统是否支持处理重复数据。
测试系统是否支持逻辑矛盾、关联性验证、不合理数据的清除。
业务流测试:不直接体现在需求文档中,而是需要根据测试人员经验进行分析,梳理的业务交互,例如不同用户之间的流程转换,发起流程,处理流程等。
2.2.性能测试性能的测试主要重点和难点体现在用户和业务的模型分析搭建上,设计的模型必须基于现实且合理规划,才能更大可能地找到系统瓶颈,保障交付使用后系统正常运行。
以下对模型的初步设计和规划基于招标文件及测试人员以往项目经验进行推断,说明性能测试策略制定过程,不作为实际实施过程中的指导内容,只作参考。
具体策略需要研制方、需求方商讨后确定。
a)分钟级性能指标策略针对数据处理能力中的如下性能指标要求:机位规划≤5min,装备规划≤5min,人员规划≤5min,计划推演≤8min,质量评定时间≤1min,数据备份恢复时间≤60min。
依据以往项目经验,参与制定任务规划的人员较少,通常为3~5 左右。
而分钟级指标要求显然不是为了查看高并发下,业务的响应时间。
这种时候,需要考虑的是包含任务要素最多、最复杂、耗时最久的最坏情况下,业务完成时间是否满足要求。
软件工程实验报告总结

软件工程实验报告总结(3篇)经过这学期软件工程实验的学习,深深感到用户需求对软件的重要性。
成功的软件产品是建立在成功的需求基础之上的,而高质量的需求来源于用户与开发人员之间有效的沟通与合作。
当用户有一个问题可以用计算机系统来解决,而开发人员开始帮助用户解决这个问题,沟通就开始了。
需求获取可能是最困难、最关键、最易出错及最需要沟通交流的活动。
对需求的获取往往有错误的认识:用户知道需求是什么,我们所要做的就是和他们交谈从他们那里得到需求,只要问用户系统的目标特征,什么是要完成的,什么样的系统能适合商业需要就可以了,但是实际上需求获取并不是想象的这样简单,这条沟通之路布满了荆棘。
首先需求获取要定义问题范围,系统的边界往往是很难明确的,用户不了解技术实现的细节,这样造成了系统目标的混淆。
其次是对问题的理解,用户对计算机系统的能力和限制缺乏了解,任何一个系统都会有很多的用户或者不同类型的用户,每个用户只知道自己需要的系统,而不知道系统的整体情况,他们不知道系统作为一个整体怎么样工作效率更好,也不太清楚那些工作可以交给软件完成,他们不清楚需求是什么,或者说如何以一种精确的方式来描述需求,他们需要开发人员的协助和指导,但是用户与开发人员之间的交流很容易出现障碍,忽略了那些被认为是认为是""很明显很明显""的信息。
最后是需求的确认,因为需求的不稳定性往往随着时间的推移产生变动,使之难以确认。
为了克服以上的问题,必须有组织的执行需求的获取活动。
需求获取活动要完成的任务或者步骤的过程如下:1、编写项目视图和范围文档系统的需求包括四个不同的层次:业务需求、用户需求和功能需求、非功能性需求。
业务需求说明了提供给用户新系统的最初利益,,反映了组织机构或用户对系统、产品高层次的目标要求,初利益它们在项目视图与范围文档中予以说明。
用户需求文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
(word完整版)白盒测试实验报告

《软件测试技术》实验报告实验序号:03 实验项目名称:使用基本路径覆盖法测试自动售货机程序一、实验目的及要求理解并掌握分支和条件覆盖测试法,能够实际运用;理解并掌握基本路径覆盖测试法,能够实际运用使用Eclipse+JUnit+EclEmma进行单元测试。
二、实验设备(环境)及要求●开发环境:Eclipse v3.7及以上版本;JUnit v4。
10及以上版本;文本编辑软件.●硬件要求:CPU PIV 以上,256M 内存,1G 硬盘空间。
●系统要求:Windows98/Me/XP/NT/2000,IE 5 以上.三、实验内容与步骤1.下载并安装Eclipse+JUnit+EclEmma实验环境;2.通读自动售货机程序,并在Eclipse环境下运行该程序;3.设计自动售货机程序相关的分支覆盖测试用例并进行测试4.设计自动售货机程序相关的条件覆盖测试用例并进行测试。
5.使用基本路径测试法设计测试用例;⏹绘制程序控制流图:⏹计算环路复杂度;⏹确定基本路径;⏹设计测试用例6.完整填写以下表格编号输入值Type输入值money状态预期输出实际情况001Beer5C各资源剩余Input InformationType: Beer; Money: 5 Cents; Change:0Current StateBeer: 5Orange Juice: 65 Cents: 71 Dollar: 6002OrangeJuice5C各资源剩余Input InformationType: OrangeJuice; Money: 5 Cents; Change: 05角零钱Change Shortage一样008OrangeJuice1D各资源均有剩余Input InformationType: OrangeJuice; Money: 1Dollar; Change: 5 CentsCurrent StateBeer:6Orange Juice: 55 Cents: 51 Dollar: 7与预期不一样009OrangeJuice1D没有橙汁Failure InformationOrangeJuice Shortage与预期不一样010Cola1D各资源剩余Failure InformationType Error与预期一样011Beer1D没有零钱Failure InformationChange Shortage与预期不一样012OrangeJuice4C各资源剩余Failure InformationMoney Error与预期一样用有缺陷的代码测试结果:修改代码后:所有测试成功、使用EclEmma检测测试用例覆盖率达100%五、分析与讨论这次试验基于上次的试验,围绕白盒测试的基本路径覆盖法测试进行测试.重点在于对测试用例的设计,试验中借助了程序流程控制图来设计用例。
软件测试和硬件测试的区别和方法

软件测试和硬件测试的区别和方法软件测试和硬件测试是两种不同的测试方法。
软件测试是对软件进行测试,硬件测试则是对硬件进行测试。
在这篇文章中,我们将探讨软件测试和硬件测试的区别和方法。
一、软件测试和硬件测试的区别1.目的不同软件测试的目的是验证软件的功能、性能、稳定性和安全性是否符合预期。
软件测试的目的是确保软件的质量和可靠性,以便用户可以放心使用软件。
硬件测试的目的是验证硬件是否符合设定的标准和规范。
硬件测试的目的是确保硬件的可靠性和安全性,以及确保硬件可以正常运行。
2.测试的环境不同软件测试通常在虚拟环境中进行,如模拟器、虚拟机等。
这样可以更好地控制测试环境,提高测试的可重复性和有效性。
硬件测试通常在测试环境中或物理环境中进行。
这样可以更好地测试硬件的性能和稳定性,确保硬件可以在实际环境中正常运行。
3.测试内容不同软件测试主要测试软件的功能、性能、稳定性和安全性。
软件测试的内容包括单元测试、集成测试、系统测试、接口测试、性能测试、安全测试等。
硬件测试主要测试硬件的质量、可靠性和安全性。
硬件测试的内容包括电气测试、机械测试、环境测试、可靠性测试、安全测试等。
4.测试方法不同软件测试通常通过预定义的测试用例进行。
软件测试可以通过手动测试和自动化测试进行。
硬件测试通常通过物理测试进行。
这包括实地测试、实验室测试、环境测试等。
5.测试结果不同软件测试的结果是软件缺陷和错误清单以及测试报告。
测试报告会告诉软件开发团队软件的质量和可靠性,以便团队可以改进软件。
硬件测试的结果是硬件的缺陷和错误清单以及测试报告。
测试报告会告诉硬件生产团队硬件的质量和可靠性,以便团队可以改进硬件。
二、软件测试和硬件测试的方法1.软件测试方法软件测试主要有以下测试方法:1)单元测试单元测试是针对代码中最小的可测试部分进行测试。
单元测试通常由开发人员进行,测试各个模块是否正确。
2)集成测试集成测试是测试各个模块和组件之间的互动和集成情况。
实验报告软件设计(3篇)

第1篇一、实验目的1. 理解软件设计的基本概念和原则。
2. 掌握软件设计的方法和工具。
3. 培养软件设计的实践能力。
4. 提高软件设计文档的编写能力。
二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C三、实验内容本次实验以设计一个简单的学生信息管理系统为例,进行软件设计。
1. 需求分析学生信息管理系统主要功能包括:(1)学生信息录入:包括姓名、性别、年龄、学号、班级等基本信息。
(2)学生信息查询:根据学号、姓名等关键字进行查询。
(3)学生信息修改:修改学生信息。
(4)学生信息删除:删除学生信息。
(5)学生信息统计:统计学生信息。
2. 系统架构设计(1)采用分层架构,分为表现层、业务逻辑层和数据访问层。
(2)表现层:使用Windows窗体作为用户界面。
(3)业务逻辑层:封装业务逻辑,实现功能模块。
(4)数据访问层:负责与数据库进行交互,实现数据的增删改查。
3. 类设计(1)学生类(Student)属性:姓名、性别、年龄、学号、班级方法:添加学生信息、删除学生信息、修改学生信息、查询学生信息(2)学生管理类(StudentManager)属性:学生列表方法:添加学生、删除学生、修改学生、查询学生、统计学生信息(3)数据库访问类(DatabaseAccess)方法:连接数据库、执行SQL语句、关闭数据库连接4. 数据库设计(1)数据库:使用SQL Server 2019(2)数据表:学生表(Student)字段:姓名、性别、年龄、学号、班级5. 界面设计(1)使用Windows窗体设计用户界面。
(2)界面包括:学生信息录入、查询、修改、删除、统计等功能模块。
6. 编码实现(1)使用C进行编程实现。
(2)根据设计文档,实现各个类和方法。
7. 测试与调试(1)进行功能测试,确保系统正常运行。
(2)进行性能测试,确保系统响应速度快。
(3)调试程序,修复发现的错误。
测试报告优秀4篇-最新
测试报告优秀4篇在现在社会,报告使用的次数愈发增长,报告中提到的所有信息应该是准确无误的。
那么一般报告是怎么写的呢?的精心为您带来了4篇《测试报告》,希望能对您的写作有一定的参考作用。
软件测试实习报告篇一21世纪将是一个信息时代,会计作为社会经济生活不可缺少的一部分,必将更多地运用信息技术。
在今年的短学期,学校有组织、有计划地为我们安排了用友ERP-U8财务软件的实训。
一、实习的目的在当前经济迅速发展及企业业务的多元化与复杂化加剧的情况下,企业实际需要对于会计人员做账水平的要求也日益提高。
传统的手工做账既费时间又费人力而且容易出错,已不能满足企业需要。
因此在信息技术的空前发展的今天,传统的会计手工操作已逐步被计算机取代。
计算机操作即会计电算化,它主要是应用电子计算机代替人工记账、算账、报账,以及代替一部分由我们人工完成的对会计信息的处理、分析和判断的过程。
是我们财务管理专业学习和提高运用计算机处理会计流程能力的重要组成部分。
通过本实践课程的学习,模拟真实的经济业务,使我们真正具备会计岗位所应具备的分析、判断和操作能力,锻炼我们运用财务软件对企业经济业务进行会计处理的技能。
二、实习的主要内容以用友财务软件ERP-U8为☆☆实习教材,精心创设仿真的会计电算化工作环境,模拟真实的企业经济业务,使理论与实践相结合。
从财务软件的基础概念开始,循序渐进地介绍了用友财务软件的系统管理、总账管理、UFO 报表管理、薪资管理、固定资产管理这五大系统的基本理论知识,进行建立账套、基础设置、日常经济业务处理、期末账务处理、会计报表的编制等全过程的具体实践操作训练。
(一)用友财务软件系统管理财务软件系统管理这部分,主要学习了系统管理的相关概念,功能及基础设置。
系统管理是用友ERP-U8管理系统中一个非常特殊的组成部分。
其主要功能是对该软件管理系统的各个产品进行统一的操作管理和数据的维护,具体包括账套管理、年度账管理、操作员及权限的集中管理、系统数据及运行安全的管理等方面。
《基于CP-nets模型的并行软件测试方法研究》范文
《基于CP-nets模型的并行软件测试方法研究》篇一一、引言随着计算机技术的飞速发展,并行计算已成为软件工程领域的重要研究方向。
并行软件的应用越来越广泛,但同时也面临着更多的挑战,其中之一便是软件测试。
CP-nets模型作为一种描述并发系统的有效工具,为并行软件的测试提供了新的思路和方法。
本文将详细探讨基于CP-nets模型的并行软件测试方法,以期为相关领域的研究和应用提供参考。
二、CP-nets模型概述CP-nets模型(Condition/Performance Nets模型)是一种基于条件/性能的网络模型,用于描述并发系统的行为。
该模型将系统分解为一系列的节点(称为“petri网”节点),节点之间的边表示系统状态的变化。
在CP-nets模型中,每个节点都包含一个条件部分和一个性能部分,分别描述了系统在特定条件下的行为和性能表现。
CP-nets模型具有直观、灵活、可扩展等优点,适用于描述和分析复杂的并发系统。
三、并行软件测试的挑战并行软件的测试相较于传统软件测试具有更大的挑战性。
由于并行软件的执行路径多、状态空间大、共享资源复杂等特点,使得测试过程中容易出现错误检测不全、测试用例设计困难等问题。
因此,如何有效地进行并行软件的测试是当前研究的热点问题。
四、基于CP-nets模型的并行软件测试方法针对并行软件的测试问题,本文提出了一种基于CP-nets模型的测试方法。
该方法的主要步骤如下:1. 建立CP-nets模型:根据并行软件的结构和功能,建立相应的CP-nets模型。
在模型中,每个节点都应准确地反映软件的逻辑结构和行为特点。
2. 分析模型状态空间:通过分析CP-nets模型的状态空间,确定系统的所有可能执行路径和状态转换。
这有助于发现潜在的错误和问题。
3. 设计测试用例:根据状态空间的分析结果,设计针对并行软件的测试用例。
测试用例应覆盖所有可能的执行路径和关键状态转换,以确保软件的质量。
4. 执行测试:利用测试用例对并行软件进行测试。
软件测试技术软件测试案例
案例案例1:终点线前的遗憾内容:作为长期火星探测战略的一个步骤,美国航宇局于1998年12月11日和1999年1月3日先后将两颗探测器送往火星。
其中先行一步的火星气候轨道器(MCO)经过6.65亿公里的飞行,终于在9月份飞到了火星,但在准备进入绕火星运行的轨道时,却不慎失手,让关注它的人们大失所望。
令人吃惊的是,此次事故的原因竟是一个非常低级的失误。
根据对进行入轨机动点火前采集到的跟踪数据的分析,项目官员认为火星气候轨道器失踪的原因是导航出了重大错误,致使探测器飞到了比预定高度低很多的高度。
实际上,在因飞入火星背面而与地面“正常”地失去联络之前,探测器就已经走上了一条将把它带到距火星表面最近仅57公里的错误路线。
这一高度大大低于技术人员提出的约85~100公里的最小安全距离,与预定的140~150公里高度更是相差甚远。
高度太低,探测器有可能在火星的大气中因气动热而被“火葬”,甚至还有可能坠毁在火星表面上。
事故发生后,主管该项目的美国航宇局喷气推进实验室等部门迅速开始了调查工作。
初步分析时认定,问题可能出在卫星软件上,还可能是地面系统的问题,人员操作失误的可能性也不能排除。
但最后查出的结果却让人难以置信:造成飞行高度太低的原因竟然是公制和英制的转换问题。
调查人员在9月30日公布的一份报告中称,探测器制造商洛马公司对探测器的一项关键性操作提供的是英制单位的数据,而美国航宇局喷推实验室的导航人员想当然地以为是公制,未加换算便直接将英制数据输入了采用公制数据的计算机系统内,从而造成了严重的导航错误。
问题出在一个导航软件表上。
这个出错的推力器校定表用在确定探测器位置的地面导航软件中。
它的作用是把遥测到的推力器点火工作次数转换成提供给探测器的冲量,以消除因推力器点火工作造成的弹道计算中的剩余误差。
喷推实验室在编制表时对推力器每次工作的冲量使用的是牛·秒这一公制单位,但由洛马公司提供的数据使用的却是英制的磅·秒,而这样计算出的冲量值只是实际值的22%。
白盒测试实验报告
白盒测试实验报告1. 引言白盒测试是软件开发过程中非常重要的一环,它能够深入了解软件内部的实现细节,发现潜在的错误和漏洞。
本次实验旨在对一款电商网站的后台管理系统进行白盒测试,并报告测试过程中发现的问题和提出的改进建议。
2. 测试环境和工具为了开展白盒测试,我们构建了一套适用于该电商网站的测试环境。
测试环境包括服务器、数据库和部署在服务器上的后台管理系统。
在测试过程中,我们使用了一系列白盒测试工具,包括静态代码分析工具、代码覆盖率工具以及调试器。
3. 功能测试在功能测试中,我们对后台管理系统的各个功能模块进行了测试。
我们模拟了管理员登录、商品管理、订单管理、用户管理等多种场景进行测试,并详细记录了测试用例、测试数据以及测试结果。
在功能测试过程中,我们发现了一些问题。
例如,某个功能模块在处理大量订单数据时出现了性能问题,导致系统响应变慢。
此外,某个功能模块在处理特定边界条件时出现了异常情况,导致系统崩溃。
4. 安全性测试在安全性测试中,我们对后台管理系统的安全性进行了评估。
我们模拟了黑客攻击、SQL注入、XSS跨站脚本等多种攻击方式进行测试,并评估系统对这些攻击的防御能力。
安全性测试中,我们发现了系统对于某些攻击方式的防御能力较弱,容易受到黑客攻击。
例如,系统在处理用户提交的数据时没有进行严格的输入验证,容易受到SQL注入攻击。
5. 性能测试在性能测试中,我们对后台管理系统的响应时间、并发性能、负载能力等进行了评估。
我们使用负载测试工具模拟了大量用户同时访问后台管理系统,以评估系统在高负载下的性能表现。
性能测试中,我们发现了系统在处理高并发请求时响应时间较长,用户体验较差。
此外,系统在处理大规模数据时处理速度较慢,需要进行性能优化。
6. 代码分析和覆盖率分析为了深入了解后台管理系统的内部实现,我们使用了静态代码分析工具对系统的源代码进行了分析。
通过分析,我们发现了一些潜在的代码问题,如代码冗余、死代码等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件测试概论》实验 东莞理工学院计算机学院
学号:201241402102 姓名:温燕姿
班级:12计科1班 指导教师:张福勇
地点:7A202, 时间:2014-12-05
实验六 基于功能分解的集成测试
一、实验目的(实验所要达到那些目的)
1、掌握基于功能分解的集成测试的原理和方法。
2、掌握桩和驱动程序的编写方法。
3、能够对软件进行基于功能分解的集成测试。
二、实验内容或实验过程
(实验所做的内容)
内容:1、自编软件的基于功能分解的集成测试:
1)、由给定软件规格说明书写出源程序并运行。(见附录)
2)、分别采用自顶向下和自底向上的集成测试方法产生测试用例(对每个
测试会话设计一个正常值测试用例即可)。
3)、运行软件,输入测试用例并记录结果。
4)、分析结果,调试源程序。(注意:调试前一定要保存上一个版本)
5)、重复步骤3),直到所有测试用例的输出与预期的一致。
要求:1、做好实验预习,掌握并熟悉本实验中所使用的测试环境及相应的软件。
2、完成三中规定的实验任务。
3、写出实验报告。(要求见《软件测试概论》实验报告要求.doc)
4、上报实验报告到ftp://172.28.29.9,登录名为zhangfuyongs,密码为空。
5、实验报告上传位置:学生作业->软件测试概论->实验6
6、上传的文件名:学号+姓名+实验6.doc。
附录1 规格说明:编制一元二次方程式AX2+BX+C=0的求根程序。程序有以
下功能:
1. 输入A、B、C三个系数;-200<=A、B、C<=200
2.输出根的性质的信息:包括两个相等实根、两个不相等的实根、一个实
根、两个虚根、有无数根、无根等。
3. 输出根的值
4. 程序结构采用下图形式:
《软件测试概论》实验 东莞理工学院计算机学院
三、实验中出错信息及处理方法(可选)
四、实验结果
(包括实验处理结果和设计心得)
程序代码:
#include
1. void formula(int a,int b,int c){
int i=0;
i=b*b-4*a*c;
2. if(a<-200||a>200||b<-200||b>200||c<-200||c>200){
3. printf("输入的系数有误\n");}
4. else{
5. if(a==0){
6. if(b==0){
7. if(c==0)
printf("此二元一次方程有无数个根\n");
8. else printf("此二元一次方程无根\n");}
9. else printf("此二元一次方程有1个实根");result(a,b,c);} msg1
10. if (a!=0){
11. if(i>0)
printf("此二元一次方程有2个不相等的实根");result(a,b,c); msg2
12. if(i==0)
printf("此二元一次方程有2个相等的实根");result(a,b,c); msg3
13. else printf("此二元一次方程有2个虚根");result(a,b,c);} msg4
14. }
15. }
16. Void result(int a,int b,int c){
主程序
输出根的性质信息
判断ACB42
输出根的值
《软件测试概论》实验 东莞理工学院计算机学院
int result1,result2;
17. If(a!=0){
18. result1=(-b-sqrt((b*b-4*a*c)))/2*a;
result2=(-b+sqrt((b*b-4*a*c)))/2*a;
printf("根的值分别为:%d,%d",result1,result2);
}
19. else printf("根的值为",(-c)/b);
20. }
21. void main(){
printf("请输入一元二次方程Ax^2+Bx+C的系数ABC:(注意:输入以逗号为间隔;
ABC均为整数,且每个数都在-200到+200间)");
scanf("%d,%d,%d",&a,&b,&c);
22. formula(a,b,c); msg5
23. }
流程图:
C
B
A
2
3
5
6 7 9 8 11 104 12 13
14
15
16
17
18
19
20
21
22
23
1
《软件测试概论》实验 东莞理工学院计算机学院
MM-路径图:
MM-路径:
P1:main(21,22)
Msg5
Formula(1,2,4,10,13)
Msg4
result(16,17,18,20)
P2:main(21,22)
Msg5
formula(1,2,4,10,12)
Msg4
result(16,17,18,20)
P3:main(21,22)
Msg5
formula(1,2,4,10,11)
Msg4
result(16,17,18,20)
P4:main(21,22)
Msg5
formula(1,2,4,5,9)
Msg4
result(16,17,19,20)
P5:main(21,22)
Msg5
formula(1,2,3,15)
P6:main(21,22)
Msg5
formula(1,2,4,5,6,8,14,15)
main()
result()
formula();
《软件测试概论》实验 东莞理工学院计算机学院
P7:main(21,22)
Msg5
formula(1,2,4,5,6,7,14,15)
处理结果:
所有的预计输出和实际输出是一样的
设计心得:
通过这次实验我知道了:基于功能分解的集成测试的原理和方法。其中最重
要的是要掌握桩和驱动程序编写。画出每个函数的程序图,标上调用了函数的那些代码,找
出MM-路径,再根据MM-路径找到对应的测试用例。
测试用例如下:
用例ID 输入数据 预期输出 值 对应基路径
1 a=2,b=3,c=2 两个虚根 - P1
2 a=2,b=4,c=2 两个相等实根 -1 P2
3 a=3,b=4,c=1 两个不相等实根 (-1/3)、-1 P3
4 a=0,b=1,c=3 一个实根 -3 P4
5 a=0,b=0,c=-201 系数有误 - P5
6 a=0,b=0,c=2 无根 - P6
7 a=0,b=0,c=0 无数根 - P7