黑盒测试实验报告
- 格式: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测试失败,说明系统在处理无效输入时存在缺陷。
四、实验总结通过本次实验,我们了解了等价划分类的概念和原理,掌握了在黑盒测试中应用等价划分类方法设计测试用例的技巧。
20 15 —20 16 学年第 2 学期软件测试技术课程实验报告学院:计算机科学技术专业:软件工程班级:软件二班姓名:吴德宁学号:041340217任课教师:刘玉宝实验日期:2016年 5 月17 日实验题目实验3、黑盒测试:决策表测试方法实验目的1、掌握决策表的概念2、掌握决策表测试用例设计法。
实验内容1、对NextDate问题运用决策表法设计测试用例,并执行测试,撰写实验报告。
NextDate (int month, int day, int year)函数规定:输入三个整数:month、day 和year,函数的输出为输入日期后一天的日期。
例如,输入为2006年3月7日,则函数的输出为2006年3月8日,year满足1920≤year≤2050。
实验步骤:1)构造决策表●M1={月份:30天/月},M2={月份: 31天/月,12月除外},M3={月份: 12月},M4={月份: 2月}●D1={日期:1<=日<=27},D2={日期:日=28},D3={日期:日=29} ,D4={日期:日=30},D5={日期:日=31}●Y1={年:闰年},Y2={年:平年}注:二月:平年28天,闰年29天条件桩:●C1:月份在{M1,M2,M3,M4}中之一●C2:日期在{D1,D2,D3,D4 ,D5}中之一●C3:年在{Y1,Y2}中之一动作桩:●A1:不可能●A2:日期增1●A3:日期复位(置1)●A4:月份增1●A5:月份复位(置1)●A6:年增11 2 3 4 5 6 7 8 9 10C1:月M M M M M1 M M2 M M2 M2cin>>year;}cout<<"请输入月份:"<<endl;cin>>month;while (month>12||month<1){cout<<"月份输入有误,请重新输入"<<endl;cin>>month;}cout<<"请输入日期:"<<endl;cin>>day;while (day>31||day<1){cout<<"日期输入有误,请重新输入"<<endl;cin>>day;}if((year%4==0 && year%100!=0) || (year%400==0)) //检查闰年;{int i=0;i=day-29;while(month==2&&i>0){cout<<"本月是闰月,请在1-29之间从新输入日期"<<endl;cin>>day;}if(month==2&&day==28){month=3;day=1;}else if(month==2&&day==29){month=3;day=2;}else day=day+2;}else day=day+2;//月底计算;switch(month){case 1:case 3:case 5:case 7:case 10:if (day==32){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if (day==33){month++;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 2:if(day==29){month=3;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if(day==30){month=3;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;case 4:case 6:case 9:case 11:if(day==31){month++;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}else if(day==32){month++;day=2;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;if(day==32){year++;month=1;day=1;cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}break;}cout<<"明天是:"<<year<<'/'<<month<<'/'<<day<<endl;}2、航空服务查询问题:根据航线,仓位,飞行时间查询航空服务。
软件测试实验报告《软件测试》实验报告书安徽⼯业⼤学计算机学院姓名马超专业软件⼯程班级132学号139074191指导教师刘卫红2016年 5⽉实验⼀⽤例设计与⿊盒测试⼀、实验⽬的(1)能够熟练应⽤⿊盒测试技术进⾏测试⽤例设计。
(2)对测试⽤例进⾏优化测试。
⼆、实验设备主流PC机⼀套,安装有主流的编程⼯具如MyEclipse、C、Visual C++三、实验内容为QQ的注册账号功能设计测试⽤例。
注册账号功能部分截图如下:等价类划分有效等价类编号⽆效等价类编号昵称不为空空密码长度为6-16个字符⾮长度为6-16个字符或9位以下纯数字不是9位以下纯数字不包含空格包含空格确认密码与密码栏输⼊⼀致与密码栏输⼊不⼀致性别男/⼥不选择(⽆法做到)⽣⽇选择合法有效⽇期不选择所在地选择合法有效地址不选择(⽆法做到)验证码验证正确验证不正确不验证⼿机号码输⼊合法有效⼿机号码输⼊⼿机号码不合法或⽆效不输⼊短信验证码输⼊正确验证码输⼊错误验证码不输⼊(有效与否由⼿机号码栏是否输⼊决定)不输⼊(有效与否由⼿机号码栏是否输⼊决定) 同意开通QQ空间勾选/不勾选我已阅读并同意相关服务条款和隐私政策勾选不勾选其中,密码栏和确认密码栏,⼿机号码栏和短信验证码栏之间有约束关系,采⽤因果图法原因:密码: 1 输⼊合法密码确认密码: 3 与密码栏⼀致2 输⼊合法密码 4 与密码栏不致结果: 5后续操作 6 报错O约束(唯⼀);1或2和3或4必须有且仅有1个为1。
原因:⼿机号码: 1 输⼊短信验证码: 3输⼊2 不输⼊ 4 不输⼊结果: 7后续判断8 报错R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
测试⽤例序号输⼊条件测试⽤例期望结果1 昵称412544热可以注册密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选2(已存在) 昵称412544热不可以注册密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选3 昵称昵称不可以为空密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码 gbe(随机验证通过) ⼿机号码 157********短信验证码 345234(随机验证通过) 同意开通QQ 空间勾选我已阅读并同意相关服务条款和隐私政策勾选 4昵称 412544热 6-12字符 9位⼀下纯数字密码 12345 确认密码 12345 性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码 gbe(随机验证通过) ⼿机号码 157********短信验证码 345234(随机验证通过) 同意开通QQ 空间勾选我已阅读并同意相关服务条款和隐私政策勾选 5昵称 412544热9位⼀下纯数字密码 123456/1234567/12345678 确认密码 123456/1234567/12345678 性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码 gbe(随机验证通过) ⼿机号码 157********短信验证码 345234(随机验证通过) 同意开通QQ 空间勾选我已阅读并同意相关服务条款和隐私政策勾选 6昵称 412544热可以注册密码 123456789/1234567890/12345678901/123456789012 确认密码123456789/1234567890/12345678901/123456789012 性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码 gbe(随机验证通过) ⼿机号码 157********短信验证码 345234(随机验证通过) 同意开通QQ 空间勾选我已阅读并同意相关服务条款和隐私政策勾选 7昵称 412544热 6-12字符密码 1234567890123 确认密码1234567890123性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服勾选务条款和隐私政策8 昵称412544热密码不⼀致密码123456789确认密码123456780性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选9 昵称412544热⽣⽇不可为确认密码2323rewew3性别男⽣⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选10 昵称4544热验证错误密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbMe(随机验证不通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选11 昵称412544热⼿机号不合法或⽆效密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码1575550370/⽆效⼿机号码短信验证码同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选12 昵称412544热短信验证码错误密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码34523(随机验证错误)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策勾选13 昵称4544热注册按钮不可⽤密码2323rewew3确认密码2323rewew3性别男⽣⽇农历1994年1⽉2⽇所在地中国安徽马鞍⼭验证码gbe(随机验证通过)⼿机号码157********短信验证码345234(随机验证通过)同意开通QQ空间勾选我已阅读并同意相关服务条款和隐私政策不勾选以下为补充补充测试⽤例编号主要操作及⽬的期望结果1 长时间离开页⾯长时间离开,重新操作2 输⼊全部正确并单击注册按钮查看是否跳转成功跳转页⾯3 检查所有下拉框是否正确且可⽤全部有效且可⽤4 在所有下拉框中分别输⼊错误信息⾃动转为默认值5 输⼊⼤⼩写字母可以区分6 能否点击查看《QQ号码规则》或《QQ空间跳转到相应页⾯服务协议》或《隐私政策》页⾯实验⼆Web测试⼀、实验⽬的掌握⽤例执⾏及缺陷报告的书写⽅法。
本科实验报告课程名称:软件测试技术实验项目:软件测试技术试验实验地点:实验楼专业班级:学生姓名:指导教师:谢红薇2015年10月14 日太原理工大学学生实验报告int dowork(int x,int y,int z){int k=0,j=0;if((x>0)&&(z<10)){k=x*y-1;j=sqrt(k);}if((x==4)||(y>5))j=x*y+10;j=j%3;return j;}void main(){int x, y ,z,j;printf("输入x,y,z的值");scanf("%d%d%d",&x,&y,&z);j=dowork(x,y,z);printf("j的值%d",j);}3、设计用例并运行记录分析设判定条件M=(x>0)&&(z<10)N=(x==4)||(y>5)设路径P1( abcdefhijl)=M and NP2(abcdefhkl)=M and /NP3(abgijl)=/M and NP4(abgkl)=/M and/N1.语句覆盖输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl)2.判定覆盖输入{x=4,y=8,z=9} 输出{j=0} 覆盖路径P1(abcdefhijl)输入{x=4,y=4,z=15} 输出{j=0} 覆盖路径P3(abgijl)3.条件覆盖对于第一个判定条件M,分割如下条件x>0取真时为T1,取假时为F1。
条件z<10取真时为T2,取假时为F2。
对于第二个判定条件N,分割如下条件x==4取真时为T3,取假时为F3。
条件y>5取真时为T4,取假时为F4。
测试用例取值条件具体取值通过路径输入{x=4,y=3,z=15}输出{j=1}T1,F2,T3,F4 x>0,z>=10,x==4,y<=5 P3(abgijl)输入{x=0,y=8,z=7}输出{j=1}F1T2,F3,T4 x<=0,z<10,x!=4,y>5 P3(abgijl)4.判定-条件覆盖测试用例取值条件具体取值判定条件通过路径输入{x=4,y=8,z=8} 输出{j=2,k=27} T1,T2,T3,T4 x>0,z<10,x==4,y>5 M,N P1(abcdefhijl)输入{x=0,y=3,z=15} 输出{j=0,k=0} F1F2,F3,F4 x<=0,z>=10,x!=4,y<=5/M,/N P4(abgkl)5.条件组合覆盖组合编号覆盖条件取值判定条件取值判定条件组合1 TI,T2 M x>0,z<10,M取真2 TI,F2 /M x>0,z>=10,M取假3 FI,T2 /M x<=0,z<10,M取假4 FI,F2 /M x<=0,z>=10,M取假5 T3,T4 N x==4,y>5,N取真6 T3,F4 N x==4,y<=5,N取真7 F3T4 N x!=4,y>5,N取真8 F3,F4 /N x!=4,y<=5,N取假测试用例测试用例取值条件覆盖路径覆盖组合T1,T2,T3,T4 P1(abcdefhijl) 1,5 输入{x=4,y=8,z=8}输出{j=0}输入{x=4,y=4,z=15}T1F2,T3,F4 P3(abgijl) 2,6 输出{j=2}F1,T2,F3,T4 P3(abgijl) 3,7 输入{x=0,y=8,z=8}输出{j=1}F1F2,F3,F4 P4(abgkl) 4,8 输入{x=0,y=3,z=15}输出{j=0}6.路径覆盖测试用例覆盖路径覆盖条件覆盖组合P1(abcdefhijl) T1,T2,T3,T4 1,5 输入{x=4,y=8,z=8}输出{j=0}输入{x=3,y=3,z=8}P2(abcdefhkl) T1F2,F3,F4 1,8 输出{j=2}P3(abgijl) F1,F2,F3,T4 4,7 输入{x=0,y=7,z=15}输出{j=1}P4(abgkl) F1F2,F3,F4 4,8 输入{x=0,y=4,z=15}输出{j=0}五、讨论心得在试验过程中,我们对于白盒测试还是没有熟练的掌握,还需要不断地练习,但是我们也已经收获了很多,特别是路径测试,我们掌握到了路径测试的一些方法,知道了划分路径的方法,,怎样设计测试用例。
系统测试实验报告系统测试实验报告一、引言系统测试是软件开发过程中非常重要的一环,通过对软件系统进行全面、深入的测试,可以发现潜在的问题和缺陷,保证软件的质量和稳定性。
本实验报告旨在总结和分析我们小组进行的系统测试实验,包括测试目标、测试环境、测试方法、测试结果和问题分析等内容。
二、测试目标我们小组的系统测试目标是验证软件系统在各种情况下的功能、性能、稳定性以及兼容性。
具体包括以下几个方面:1. 功能测试:验证系统的各项功能是否符合需求规格说明书中的要求,包括输入输出的正确性、逻辑处理的准确性等。
2. 性能测试:测试系统在不同负载情况下的响应时间、吞吐量和资源利用率等性能指标,以评估系统的性能瓶颈和优化空间。
3. 稳定性测试:通过长时间运行和大量数据输入等方式,测试系统是否存在内存泄漏、死锁、崩溃等稳定性问题。
4. 兼容性测试:验证系统在不同操作系统、浏览器、设备等环境下的兼容性,以确保系统能够在各种环境下正常运行。
三、测试环境我们使用了以下测试环境进行系统测试:1. 操作系统:Windows 102. 浏览器:Google Chrome, Mozilla Firefox3. 设备:台式电脑、笔记本电脑、手机等4. 测试工具:JMeter、Selenium、Postman等四、测试方法为了达到测试目标,我们采用了多种测试方法进行系统测试:1. 黑盒测试:根据需求规格说明书,设计测试用例,对系统的输入输出进行验证,确保系统功能的正确性。
2. 白盒测试:通过代码分析和覆盖率测试,检查系统的逻辑处理是否正确,发现潜在的漏洞和错误。
3. 性能测试:使用JMeter工具模拟多用户并发访问系统,监测系统的响应时间、吞吐量和资源利用率等性能指标。
4. 稳定性测试:通过长时间运行和大量数据输入,观察系统是否存在稳定性问题,如内存泄漏、死锁等。
5. 兼容性测试:在不同操作系统、浏览器和设备上进行测试,检查系统在各种环境下的兼容性。
第1篇一、实验目的1. 理解软件测试的基本概念和流程。
2. 掌握常用的软件测试方法和工具。
3. 提高实际操作能力,为以后从事软件测试工作打下基础。
二、实验环境1. 操作系统:Windows 102. 测试工具:Selenium WebDriver3. 测试项目:某电商平台购物系统三、实验内容1. 确定测试范围和测试目标- 测试范围:购物系统的主要功能模块,包括用户注册、登录、商品浏览、购物车、订单提交、支付等。
- 测试目标:确保购物系统的功能正常运行,界面友好,数据准确,无严重bug。
2. 编写测试用例- 根据测试目标和范围,编写详细的测试用例,包括测试步骤、预期结果和实际结果。
- 测试用例应涵盖各种正常和异常情况,如用户注册、登录、购物流程等。
3. 编写测试脚本- 使用Selenium WebDriver编写自动化测试脚本,实现测试用例的自动化执行。
- 测试脚本应包括定位元素、操作元素、验证结果等基本功能。
4. 执行测试- 运行测试脚本,观察测试结果,记录测试数据。
- 分析测试结果,找出存在的问题,并与开发人员进行沟通。
5. 问题定位与修复- 针对发现的bug,分析原因,定位问题所在。
- 与开发人员沟通,提出修复建议,协助开发人员解决问题。
6. 测试报告编写- 编写详细的测试报告,包括测试目的、测试范围、测试方法、测试结果、bug 分析等。
- 测试报告应简洁明了,便于查阅。
四、实验步骤1. 确定测试范围和测试目标- 根据购物系统的功能模块,确定测试范围和测试目标。
2. 编写测试用例- 根据测试目标和范围,编写详细的测试用例。
3. 编写测试脚本- 使用Selenium WebDriver编写自动化测试脚本。
4. 执行测试- 运行测试脚本,观察测试结果,记录测试数据。
5. 问题定位与修复- 分析测试结果,找出存在的问题,并与开发人员进行沟通。
6. 测试报告编写- 编写详细的测试报告。
五、实验结果与分析1. 测试覆盖率- 测试覆盖率达到95%,覆盖了购物系统的所有功能模块。
亳州师范高等专科学校软件测试技术实验报告系别:专业:学号:姓名:指导教师:提交日期:年月日实验二黑盒测试---边界值分析实验一、实验目的1、掌握边界值的相关概念2、掌握边界值分析分法的测试用例设计方法二、实验要求手工运用边界值方法设计被测程序的测试用例,并运行测试用例检查程序的正确与否。
三、实验任务1、问题描述:NextTwoDate是一个有三个变量(月份、日期和年)的函数。
函数返回输入日期后隔一天的那个日期。
例如:输入2012年3月18日,输出日期为:2012年3月20日。
变量月份、日期和年都是整数值,并满足以下条件:c1:1<=月份<=12c2:1<=日期<=31c3:1920<=年<=2050如果c1、c2、或c3中的任意一个条件失败,则NextTwoDate 都会产生一个输出,指示相应的变量超出取值范围。
例如“月份值不在1~12范围内”。
2、程序源代码#include <stdio.h>#include <stdlib.h>void NextTwoDate(int y,int m,int d){int flag = 1; //此处增加一个标识,日期是否错误if (y<=1920 || y>=2050){printf("\n\n年份输入越界,年份值不在1920~2050范围内\n\n");return ;}if (m>12 || m<1){printf("月份值不在1~12范围内\n ");return;}if (d>=31 || d<=1){printf("日期值不在1~31范围内\n");return;}switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12:{if(d+1<31) d=d+2;elseif(d+1==31){if(m!=12){m++;d=1;}else{y++;m=1;d=1;}}elseif (d==31){if(m!=12){m++;d=2;}else{y++;m=1;d=2;}}else{printf ("输入日期错误,请注意该月的天数!!\n");flag=0;}break;}case 4:case 6:case 9:case 11:if(d+1<30) d=d+2;elseif (d==29) {m++;d=1;}elseif(d==30){m++;d=2;}else{printf ("输入日期错误,请注意该月的天数!!\n"); flag=0;}break;case 2:{int f=((y%4==0)&&(y%100!=0))||(y%400==0);if(!f){if(d+1<28) d=d+2;else if(d+1==28){m++;d=1;}else if(d==28) {m++;d=2;}else{printf ("输入日期错误,请注意平年2月的天数!!\n"); flag=0;}break;}//是闰年的情况else{if(d+1<29)d=d+2;else if(d+1==29){m++;d=1;}else if (d==29) {m++;d=2;}else{printf ("输入日期错误,请注意闰年2月的天数!!\n"); flag=0;}break;}}}//最后根据日期格式是否错误决定是否输出后天的日期if(flag){printf("输入日期的隔一天的日期是%d-%d-%d\n",y,m,d);}}void main(){int y,m,d;printf("请输入日期,注意年月日之间用空格隔开!\n\n");scanf("%d%d%d",&y,&m,&d);NextTwoDate(y,m,d);system("pause");}四、实验步骤:(1)调试上面的程序,使其能运行。
黑盒测试实验原理一、概述黑盒测试是软件测试中的一种测试方法,它不考虑被测系统内部的实现细节,只关注输入和输出之间的关系。
黑盒测试主要用于验证系统是否符合需求规格说明书或其他规范性文档中所描述的功能和性能要求。
二、黑盒测试的分类1. 等价类划分法:将输入值划分为若干个等价类,每个等价类内的输入值具有相同的特征,从而减少测试用例数量。
2. 边界值分析法:在等价类划分法基础上,特别关注边界情况,这些情况往往容易引起程序错误。
3. 决策表法:将复杂的逻辑关系转化为决策表,对每一种可能情况都编写一个测试用例。
4. 因果图法:通过绘制因果图来描述系统中各个元素之间的关系,并根据因果图生成相应的测试用例。
三、黑盒测试实验步骤1. 确定被测软件功能和性能要求;2. 根据被测软件功能和性能要求设计测试用例;3. 编写测试用例并进行执行;4. 分析执行结果并记录问题;5. 对问题进行修复并重新执行测试用例;6. 重复执行步骤4和5,直至所有问题被解决。
四、黑盒测试实验工具1. JUnit:Java语言的单元测试框架,可以用于黑盒测试;2. Selenium:Web自动化测试工具,可以模拟用户在浏览器中的操作;3. LoadRunner:性能测试工具,可以模拟多种负载情况下的系统表现。
五、黑盒测试实验注意事项1. 确定被测软件的边界条件和特殊情况;2. 尽可能覆盖所有可能出现的输入组合;3. 避免过度依赖于手动测试,应使用自动化测试工具提高效率和准确性;4. 定期检查和更新测试用例,保证其与被测软件一致。
六、总结黑盒测试是一种有效的软件测试方法,它能够验证系统是否符合规范性文档中所描述的功能和性能要求。
在进行黑盒测试时需要注意分类方法、实验步骤、工具选择和注意事项等方面。
通过合理地设计和执行黑盒测试可以提高软件质量并降低维护成本。
实验报告书课程名称:软件测试实验题目:黑盒测试报告专业:教育技术学班级:教技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}}找零钱最佳组合一、分析输入的情形。