黑盒测试实验报告
- 格式:doc
- 大小:201.00 KB
- 文档页数:21
第1篇1. 工程估价电算化信息系统实验:- 功能:该系统旨在帮助工程造价人员计算工程量,通过软件计算可以确保准确性。
- 特点:系统能够直接识别设计院的电子文档,如墙、梁、柱、基础、门窗表等,从而提高建模效率。
特别适用于不规则图形和复杂结构设计的建筑平面设计。
- 优势:提高工作效率,减少人工错误,适用于复杂工程项目。
2. 软件工程实验报告:- 实验内容:使用Visio进行软件工程实验,包括绘制项目组织结构图、程序流程图,建立数据模型,以及使用黑盒测试方法设计测试用例。
- 实验步骤:- 绘制项目组织结构图:新建绘图、加入背景和标题、添加各种形状、排列下属图形、调整形状间距、完善并保存。
- 绘制程序流程图:执行新建流程图命令、加入背景和标题、添加各个步骤、连接图形、在线条上添加文字、完善并保存。
- 建立数据模型:执行新建数据库模型命令、使用反向工程创建数据库模型、添加实体和表信息、建立实体间的关系。
- 设计测试用例:使用黑盒测试方法设计测试用例,并对程序进行测试。
- 实验总结:强调了掌握Visio基础功能、组织架构原理、程序流程图绘制的重要性,以及建立数据模型和甘特图对项目管理的帮助。
3. 软件项目开发及管理实验报告:- 实验内容:软件工程开发与管理实验,包括工程方案制定、理解工程、资源管理、成本管理、工程控制和动态跟踪等。
- 实验工具:Microsoft Project 2000以上版本。
- 实验步骤:定义工程、设置工程常规工作时间、设置工程属性、建立工程任务列表等。
- 实验总结:通过实验,掌握了使用Microsoft Project制定工程方案的方法,提高了项目管理能力。
综上所述,这些参考信息涵盖了工程估价、软件工程和软件项目管理等方面的实验内容和方法。
通过这些实验,可以提升相关领域的专业技能和实践能力。
第2篇一、实验背景随着我国建筑行业的快速发展,工程估价在工程项目的成本控制、投资决策等方面发挥着至关重要的作用。
管理学院上机实验报告专业班级课程名称软件测试技术学年学期2015-2016学年度第1学期上机学时12指导教师学号姓名管理学院上机实验报告实验名称一、设计测试用例(2学时)实验目的及要求1、创建司机保险测试用例2、选用的案例是一个C程序,根据特定的条件确认司机的保险。
在对本案进行测试用例设计的时候,要注意根据需求中对司机输入信息中各值域的要求来进行用例设计。
另外要注意分别从正向测试和反向测试的角度来进行测试用例的设计。
实验过程与结果测试需求分析:RQ1: 如果司机已婚,则其保险与性别无关;RQ2: 确保司机年龄不低于20岁;RQ3: 如果司机已婚,检查其性别,M代表男性,F代表女性;RQ4: 如果司机未婚,检查其性别是否为男性且年龄是否超过30;RQ5: 如果司机未婚,检查其性别是否为女性且年龄是否超过25;RQ6: 如果婚姻状况不是M或U,显示错误信息;RQ7: 如果性别不是M或F,显示错误信息;RQ8: 如果年龄是零或负数,显示错误信息。
测试用例:ID测试名称目录输入输出1 婚姻状况有效输入除M、U、m或u以外的任何值错误信息2 性别有效输入除M、F、m或f以外的任何值错误信息3 年龄性别和年龄测试u、m、-20 错误信息4 年龄性别和年龄测试u、m、30 正确信息5 年龄性别和年龄测试u、m、20 正确信息6 年龄性别和年龄测试u、m、0 错误信息7 混合婚姻状况、性别和年龄m、m、30 正确信息8 混合婚姻状况、性别和年龄m、j、24 错误信息9 混合婚姻状况、性别和年龄u、j、31 错误信息10 混合婚姻状况、性别和年龄u、f、28 正确信息测试结果报告如下:测试名称:保险详细资料 单元名称:保险模块目的:检查所有可能出现条件的有效值测试结果:结论:该程序对有效输入能够正确输出,对无效输入无法识别,也无法输出错误信息,可以测试得出符合它的输入条件的司机是否已经投保,勉强可以使用。
不过软件还是存在有许多问题没有做好,比如:当输入的年龄为负,男或女没有输入结果都没有显示错误信息。
实验名称:软件功能测试实验日期:2021年10月25日实验地点:实验室实验人员:张三、李四、王五一、实验目的1. 熟悉软件功能测试的基本概念和流程。
2. 掌握常用的功能测试方法和工具。
3. 提高软件测试技能,为今后从事软件测试工作打下基础。
二、实验内容1. 了解软件功能测试的基本概念和流程。
2. 学习并使用常用的功能测试方法和工具。
3. 完成一项软件功能测试任务。
三、实验步骤1. 熟悉软件功能测试的基本概念和流程。
(1)软件功能测试的定义:软件功能测试是指通过一系列测试用例,验证软件是否满足需求规格说明书中的功能要求。
(2)软件功能测试的流程:1)需求分析:了解软件的功能需求,明确测试目标。
2)测试计划:制定测试策略、测试用例、测试环境等。
3)测试执行:按照测试计划执行测试用例。
4)缺陷报告:记录、跟踪、管理缺陷。
5)测试总结:总结测试过程,评估测试结果。
2. 学习并使用常用的功能测试方法和工具。
(1)黑盒测试:通过输入和输出数据,验证软件的功能是否满足需求。
(2)白盒测试:通过了解软件的内部结构和代码逻辑,验证软件的功能。
(3)灰盒测试:结合黑盒测试和白盒测试的特点,验证软件的功能。
(4)常用的功能测试工具:QTP(QuickTest Professional)、Selenium、LoadRunner等。
3. 完成一项软件功能测试任务。
(1)选择测试对象:选取一款常用的办公软件,如Microsoft Office Word。
(2)编写测试计划:明确测试目标、测试范围、测试方法、测试用例等。
(3)编写测试用例:根据测试计划,编写详细的测试用例。
(4)执行测试用例:按照测试用例执行测试,记录测试结果。
(5)缺陷报告:发现缺陷后,及时编写缺陷报告,提交给开发人员。
(6)测试总结:对测试过程进行总结,评估测试结果。
四、实验结果与分析1. 实验结果本次实验选取了Microsoft Office Word作为测试对象,通过编写测试用例、执行测试用例、缺陷报告等环节,完成了软件功能测试任务。
电子商城实验报告本次实验我们实现了一个简单的电子商城系统。
该系统包含了登录、注册、用户信息管理、商品信息管理、购物车管理等功能。
以下将从系统设计、实现、测试和总结四个方面叙述本次实验的过程和结果。
一、系统设计在系统设计中,我们采用了前后端分离的设计思想,前端使用Vue.js框架,后端使用PHP语言和MySQL数据库进行开发。
前后端通过Ajax交互技术进行数据传输和响应。
考虑到用户的安全性和数据的完整性,我们加入了常见的数据校验和SQL注入攻击防范等功能。
在前端部分,我们实现了登录、注册、用户信息管理、商品信息管理、购物车管理等功能。
登录模块主要实现用户的登录和退出登录功能,校验用户的账号和密码是否匹配。
注册模块实现用户的注册功能,并进行了手机号、邮箱格式、密码强度的校验。
用户信息管理包括个人信息的展示、修改和密码的修改。
商品信息管理包括商品的添加、删除、修改和查询,可以按照商品名称或者类型进行搜索。
购物车管理包括购物车的添加、删除、修改和查询等功能,用户可以将商品加入购物车中,并进行数量的修改和删除等操作。
在后端部分,我们使用PHP语言和MySQL数据库进行开发。
PHP语言主要负责处理数据请求和响应,MySQL数据库则负责数据的持久化存储。
我们采用面向对象的编程方式,将整个系统分为控制器、模型和视图三个部分。
控制器负责接收前端的请求、验证数据和响应数据;模型则负责实现数据的增删改查等操作;视图则负责从用户的角度展现数据和界面。
二、系统实现在系统实现中,我们首先搭建了前端Vue.js框架和后端PHP语言的开发环境。
然后分别实现了前端UI界面和后端业务逻辑。
前端页面采用了Element UI库进行开发,具有良好的用户交互体验。
后端采用了PHP7和MySQL5进行数据存储和业务逻辑处理。
在前端部分,我们使用Vue.js框架创建了Login、Register、User、Goods和Cart五个组件。
Login组件用于用户的登录功能,包括账号和密码的验证,验证成功后跳转到User组件页面。
武 夷 学 院实验报告数学与计算机系课程名称: 软件测试实验题目: 边界值测试学生班级: 09级计科一班学生姓名: 学生学号: 200940110 指导教师: 刘靖 完成日期:2011.10.11实验二边界值测试一、实验目的通过本次实验使学生熟悉黑盒测试的边界值测试方法,并初步具备针对功能的测试用例设计。
二、实验环境硬件环境:微型计算机。
软件环境:Windows 操作系统,Microsoft V isual Studio 2005等。
三、实验内容题目一:三角形问题输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
题目二:找零钱最佳组合问题假设商店货品价格(R)皆不大于100 元(且为整数),若顾客付款在100 元内 (P) ,求找给顾客最少货币个(张)数?(货币面值50 元10 元,5 元,1 元四种)1.请用针对输入域的边界值分析法对三角形问题设计测试用例,并将这次测试和三角形问题的第一次测试做一下比较分析。
2.请用针对输出域的边界值分析法对找零钱最佳组合问题设计测试用例,并将这次测试和找零钱最佳组合问题的第一次测试做一下比较分析。
四、实验步骤1.针对输入域用边界值分析法对三角形问题设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:(1)分析各变量取值(2)测试用例数(3)设计测试用例边界值测试方法设计测试用例(4)执行测试用例,记录测试结果,报告发现的问题(5)将这次测试和三角形问题的第一次测试做一下比较分析。
2. 针对输出域用边界值分析法对找零钱最佳组合问题设计测试用例 (1)分析各变量取值 (2)测试用例数(3)设计测试用例边界值测试方法设计测试用例 (4)执行测试用例,记录测试结果,报告发现的问题(5)将这次测试和找零钱问题的第一次测试做一下比较分析。
20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:041340217任课教师:刘玉宝实验日期:2016年 5 月9 日实验题目实验2、黑盒测试:边界值分析方法及设计测试案例实验目的1、掌握边界值的概念2、掌握边界值分析法的测试用例设计方法。
实验内容1、对于找零钱最佳组合问题运用边界值分析法设计测试用例,并执行测试,撰写实验报告。
实验步骤:假设商品总价为T,顾客付款为P①分析边界值。
分析输入情形:1.T无效:T<=02.T有效:T>0此种情况下考虑P:2_1.P无效:P<T (款不够支付)2_2.P有效:P>=T分析输出情形:考虑输出—找零个数这里是有效数据,关于“找给顾客值最少钱币张数”的有效值50:0/110:0/1/2/3/45 :0/11 :0/1/2/3/4分析规格中每一个决策情形:无效输入(不找零):T<=0(商品总价小于等于0错误)T>0 P<T(付款不够支付)输出相应错误有效输入(找零)T>0 P>T此时考虑的输出(Change=P-T假设计算正确,不考虑这种情况的无效输出)0<=Change<45<= Change <1010<= Change <5050<= ChangeChange:0、1、4、5、9、10、49、50、99②运用健壮性边界条件法设计测试用例,得到测试用例表(测试用例表格式同实验1)。
付款总价余额预期输出T1 -1 50 超出范围T2 0 50 不可能T3 100 50 50 1T4 101 50 超出范围T5 50 -1 超出范围T6 50 0 50 1T7 50 100 不可能T8 50 101 超出范围T9 50 51 不可能T10 60 59 1 1T11 72 23 49 9T12 85 75 10 1T13 80 71 9 5T14 95 90 5 1T15 55 51 4 4T16 60 60 0 0③执行测试,填写软件缺陷报告(软件缺陷报告格式同实验1)。
/**********************************************************//* 文件名:sample.c *//* 功能:检查输入的标识符是否符合C语言规则*//**********************************************************/#include <stdio.h>#include <string.h>#include <ctype.h>#include <conio.h>#include<malloc.h>char * IsLegal ( char * CheckWord);const int MaxWordLen=32;char * ErrorMessages [] = { /*错误信息列表*/“合法!”,“首字符只能是字母或下划线!”,“常、变量只能由字母、下划线和数字构成!”,“常、变量标识不能用C语言关键字!”,“常、变量标识不能用C语言函数!”,“内存不够!”};void main(void){char * Prompt=“C语言标识符的命名要遵守以下原则:”;char * TestWord;int i;TestWord = (char * ) malloc ( sizeof (char) * MaxWordLen );/*TestWord存放用户输入*/ if (! TestWord )return;/*显示部分提示信息*/puts(Prompt);for ( i=1;i<=4;i++ ) {puts( ErrorMessages[i]);}puts(“”);while(1) {printf(“\n\n请输入一个标识符(大写的Q退出):”); /*提示*/scanf(“%s”, TestWord);if ((toupper)(TestWord[0])==’Q’)break;printf(“\n%s %s”, TestWord, IsLegal(TestWord)); /*判定标识符的合法性*/}free( TestWord );}/*此函数检验标识符命名的合法性*/char * IsLegal (char * CheckWord){char * KeyWords [] = {“auto” , “break”, “case”, “char”, “continue” , “const”, “defaut”, “do”, “ double”, “else”, “ enum”, “extern”, “float”, “for”, “goto”,“if”, “int”, “long”, “noalias”, “register”, “return”, “short”,“signed”, “sizeof”, “static”, “struct”, “switch”, “typedef”,“union”, “ unsigned”, “void”, “volatile”, “while”, “defined”,“define”, “undef”, “include”, “ifdef”, “ifndef”, “endif”, “line”,“error”, “elif”, “pragma”}; /*C关键字列表*/char * Functions [] = {“close”, “creat”, “eof” , “fclose”, “fcloseall”, “feof”, “fopen”, “ferror”, “fgetchar”,“fgets”, “fprintf”, “fputc”, “fputchar”,“fseek”, “get”, “putch”, “putc”, “printf”, “open”, “putchar”,“puts”, “read”, “scanf”, “abs”, “acos”, “asin”, “math”, “atan”,“atan2”, “atof”, “ atoi”, “atol”, “ceil”, “dos”, “cosh”, “ecvt”,“exp”, “fabs”, “floor”, “fmod”, “frexp”, “itoa”, “labs”, “ldexp”,“log”, “log10”, “modf”, “pow”, “rand”, “sin”, “sqrt”, “srand”,“strtod”, “strlol”, “tan”, “tanh”, “ultoa”, “memset”, “strcpy”,“struct”, “strchr”, “strcmp”, “calloc”, “isalnum”, “isalpha”,“toascii”, “tolower”, “tollpper”, “exit” }; /*C主要函数列表*/char * Others = “_” ; /*’_’也可以用于关键字,但我们不推荐您使用!*/int WordLenth, i;char * WordTemp;WordTemp = (char * ) malloc ( MaxWordLen * sizeof (char));if (! WordTemp) return ErrorMessages [5];WordLength = strlen (CheckWord);/*检查标识符命名规则1*/if(( isalpha(CheckWord[0])==0)&&(CheckWord[0]!=Others[0] ))return ErrorMessages[1];/*检查标识符命名规则2*/for(i=0;i<WordLength;i++)if ((isalnum(CheckWord[i] == 0) && (CheckWord[i]!=Others[0]))return ErrorMessages[2];/*检查标识符命名规则3*/for(i=0;i<44 ;i++){if(!strcmp(CheckWord, KeyWords[i]))return ErrorMessages[3];}i=0;for(i=0;i<69 ;i++){if(!strcmp(CheckWord, Functions[i]))return ErrorMessages[4];}free(WordTemp);return ErrorMessages [0] ;}。
第1篇一、实验背景随着现代工业和科技的快速发展,工程测试作为确保产品或系统性能和质量的重要手段,其重要性日益凸显。
本实验旨在通过基础的工程测试方法,使学生了解和掌握工程测试的基本原理、测试方法和测试工具,提高学生的实际操作能力和工程意识。
二、实验目的1. 理解工程测试的基本概念和意义。
2. 掌握常见的工程测试方法,如力学性能测试、电学性能测试、光学性能测试等。
3. 熟悉测试仪器和设备的使用方法。
4. 培养学生严谨的科学态度和良好的实验操作习惯。
三、实验内容1. 力学性能测试(1)实验原理力学性能测试是研究材料或构件在外力作用下的变形和破坏规律,主要包括拉伸测试、压缩测试、弯曲测试等。
(2)实验仪器拉伸试验机、压缩试验机、弯曲试验机、万能试验机等。
(3)实验步骤① 按照测试要求,将试样安装在试验机上;② 开启试验机,逐渐增加载荷,观察试样的变形和破坏情况;③ 记录试验数据,如载荷、变形、断裂载荷等;④ 分析测试结果,得出材料或构件的力学性能指标。
2. 电学性能测试(1)实验原理电学性能测试是研究材料或器件的电学特性,如电阻率、电容率、电导率等。
(2)实验仪器电阻测试仪、电容器测试仪、电导率测试仪等。
(3)实验步骤① 按照测试要求,将试样连接到测试仪上;② 开启测试仪,进行测量;③ 记录测试数据,如电阻、电容、电导率等;④ 分析测试结果,得出材料或器件的电学性能指标。
3. 光学性能测试(1)实验原理光学性能测试是研究材料或器件的光学特性,如折射率、反射率、透射率等。
(2)实验仪器折射率仪、反射率仪、透射率仪等。
(3)实验步骤① 按照测试要求,将试样放置在测试仪上;② 开启测试仪,进行测量;③ 记录测试数据,如折射率、反射率、透射率等;④ 分析测试结果,得出材料或器件的光学性能指标。
四、实验结果与分析(1)力学性能测试结果通过对不同材料的拉伸、压缩、弯曲试验,得出材料的弹性模量、屈服强度、抗拉强度等力学性能指标。
一、实验目的1. 理解等价划分类的概念和原理。
2. 掌握等价划分类在黑盒测试中的应用。
3. 学会使用等价划分类方法设计测试用例。
二、实验内容本次实验以一个简单的学生信息管理系统为例,通过等价划分类方法设计测试用例,并验证系统功能。
三、实验步骤1. 分析系统需求学生信息管理系统主要功能包括:学生信息录入、查询、修改和删除。
其中,学生信息包括姓名、学号、性别、年龄、班级等。
2. 划分等价类(1)有效等价类:姓名:姓名为空、姓名过长、姓名符合规范。
学号:学号为空、学号过长、学号符合规范。
性别:性别为空、性别输入不正确、性别输入正确(男、女)。
年龄:年龄为空、年龄输入不正确、年龄输入正确(整数)。
班级:班级为空、班级过长、班级符合规范。
(2)无效等价类:姓名:姓名为数字、姓名包含特殊字符。
学号:学号包含字母、学号包含特殊字符。
性别:性别为数字、性别包含特殊字符。
年龄:年龄为负数、年龄为小数。
班级:班级包含数字、班级包含特殊字符。
3. 设计测试用例根据等价划分类方法,设计以下测试用例:(1)有效等价类测试用例:用例1:姓名为“张三”,学号为“******”,性别为“男”,年龄为“20”,班级为“A班”。
用例2:姓名为“李四”,学号为“******”,性别为“女”,年龄为“21”,班级为“B班”。
(2)无效等价类测试用例:用例3:姓名为“123”,学号为“abcdef”,性别为“123”,年龄为“-1”,班级为“ABC”。
4. 执行测试按照设计的测试用例,对系统进行测试。
测试过程中,重点关注以下方面:(1)功能测试:验证系统各项功能是否正常。
(2)界面测试:检查界面布局、样式等是否符合设计要求。
(3)性能测试:测试系统响应速度、资源占用等性能指标。
5. 分析测试结果(1)用例1、用例2测试通过,说明系统对学生信息录入、查询、修改和删除功能的支持正常。
(2)用例3测试失败,说明系统在处理无效输入时存在缺陷。
四、实验总结通过本次实验,我们了解了等价划分类的概念和原理,掌握了在黑盒测试中应用等价划分类方法设计测试用例的技巧。
实验报告书课程名称:软件测试实验题目:黑盒测试报告专业:教育技术学班级:教技142学生姓名:安卓指导老师:郭小雪所属学期:2017-2018学年第二学期一、引言1.1目的测试报告为三角形问题和找零钱最佳组合问题项目的黑盒测试报告,目的在于总结测试阶段的测试以及分析测试结果。
实验环境在Windows 2000(SP2) 或Windows XP 操作系统上,使用C++语言,工具作为开发环境(IDE)实验要求1.根据给出的程序分别使用等价类划分法、边界值分析法、判定表方法、因果图法、正交试验法、功能图法、错误推测法来设计相应的测试用例。
2.输入数据进行测试,填写测试用例。
二、实验原理黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1 划分等价类划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验。
这样的测试才能确保软件具有更高的可靠性。
2 边界值分析边界值分析是通过选择等价类边界的测试用例。
边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。
它是对等价类划分方法的补充。
(1)边界值分析方法的考虑;长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
(2)基于边界值分析方法选择测试用例的原则:1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
3)根据规格说明的每个输出条件,使用前面的原则1)。
4)根据规格说明的每个输出条件,应用前面的原则2)。
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
3 错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
例如, 在单元测试时曾列出的许多在模块中常见的错误。
以前产品测试中曾经发现的错误等, 这些就是经验的总结。
还有,输入数据和输出数据为0的情况。
输入表格为空格或输入表格只有一行。
这些都是容易发生错误的情况。
可选择这些情况下的例子作为测试用例。
4 因果图法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
因果图方法最终生成的就是判定表。
它适合于检查程序输入条件的各种组合情况。
三、实验内容三角形问题1)划分等价类有效等价类:输入3个正整数或正小数:1、两数之和大于第三数,如A<B+C;B<C+A;C<A+B2、两数之和不大于第三数3、两数相等,如A=B或B=C或C=A4、三数相等,如A=B=C5、三数不相等,如A!=B,B!=C,C!=A无效等价类:1、空2、负整数3、非数字4、少于三个数三角形测试用例:用最少的测试用例覆盖所有的有效等价类,而无效等价类每个类型都要覆盖到三角形问题”的测试用例(边界值分析法)测试源代码三、测试代码等价值测试法package * “三角形问题”的测试用例(等价类测试)** @author Mario**/public class TestTriangle {@SuppressWarnings("resource")public static void main(String[] args) {try {int a, b, c;"开始黑盒测试");Scanner in = new Scanner;"条件1.请输入第一个大于0且小于等于100的整数");a = ());if (a <= 0 || a > 100 || !(a).matches("[0-9]+")) {1010throw new Exception();}"条件2.请输入第二个大于0且小于等于100的整数");b = ());if (b <= 0 || b > 100 || !(b).matches("[0-9]+")) {throw new Exception();}"条件3.请输入第三个大于0且小于等于100的整数");c = ());if (c <= 0 || c > 100 || !(c).matches("[0-9]+")) {throw new Exception();}if ((!(a + b <= c || a + c <= b || b + c <= a)) && (a >= 1 && a <= 100) && (b >= 1 && b <= 100)&& (c >= 1 && c <= 100)) {if (a == b && a == c) {+ "," + b + "," + c + "可以组成一个等边三角形");} else if (a == b || a == c || b == c) {+ "," + b + "," + c + "可以组成一个等腰三角形");} else if ((a * a + b * b == c * c && a == b) || (a * a + c * c == b * b && a == c)|| (c * c + b * b == a * a && c == b)) {+ "," + b + "," + c + "可以组成一个等腰直角三角形");} else if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a)) {+ "," + b + "," + c + "可以组成一个直角三角形");} else {1111+ "," + b + "," + c + "可以组成一个一般三角形");}} else {if (a < 1 || a > 100)"不满足条件1,不能构成三角形");if (b < 1 || b > 100)"不满足条件2,不能构成三角形");if (c < 1 || c > 100)"不满足条件3,不能构成三角形");if (c < 1 || c > 100)"不满足条件3,不能构成三角形");if (a >= b + c)"不满足a<b+c,不能构成三角形");if (b >= a + c)"不满足b<a+c,不能构成三角形");if (c >= a + b)"不满足c<a+b,不能构成三角形");}"黑盒测试结束");} catch (Exception e) {"不满足条件,不能构成三角形\n黑盒测试结束");}}1212v1.0 可编辑可修改边界值测试法package * “三角形问题”的测试用例(边界值测试)** @author Mario*/public class TestTriangle2 {@SuppressWarnings("resource")public static void main(String[] args) {try {int a, b, c;"开始黑盒测试");Scanner in = new Scanner;"条件1.请输入第一个大于0且小于等于100的整数");a = ());"条件2.请输入第二个大于0且小于等于100的整数");1313b = ());"条件3.请输入第三个大于0且小于等于100的整数");c = ());if (a < 1 || a > 100 || !(a).matches("[0-9]+")) {throw new Exception();}if (b < 1 || b > 100 || !(b).matches("[0-9]+")) {throw new Exception();}if (c < 1 || c > 100 || !(c).matches("[0-9]+")) {throw new Exception();}if ((!(a + b <= c || a + c <= b || b + c <= a))) {if (a != b && b != c && a != c) {"这个三角形是三边不等的");} else if (a == b && b == c && a == c) {"这个三角形是等边的");} else if (a == b || a == c || c == b) {"这个三角形是等腰的");}} else {"输入无效");}"黑盒测试结束");} catch (Exception e) {"输入无效\n黑盒测试结束");}1414v1.0 可编辑可修改1515}}找零钱最佳组合一、分析输入的情形。