计算器黑盒测试实验报告
- 格式:doc
- 大小:482.00 KB
- 文档页数:25
单元测试1引言1.1编写目的根据Windows XP记事本的帮助文档,制定对Windows XP记事本的测试用例。
该计划用来测试记事本功能。
包括:界面设计、输入输出、内部等。
根据本次测试来评估当前的记事本是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2背景说明:a.测试计划所从属的软件系统:Windows XP;b.在开始执行本测试计划之前必须完成的工作:需要阅读有一个记事本的帮助文档。
1.3定义记事本,用来记录各类事情的小册子。
在windows操作系统中是一个简单的文本编辑器。
自从1985年发布的Windows 1.0开始,所有的Microsoft Windows 版本都内置这个软件另外还有名为《记事本》的电影、歌曲。
1.4参考资料用到的参考资料:a. Windows 记事本的帮助文档2计划2.1软件说明以下的图表是用来说明被测软件的功能来作为叙述测试计划的提纲。
2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
具体的测试内容如下:(1)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
(2)用户界面测试:测试界面之间是否能完成相互转换。
(3)性能测试:测试该记事本的响应时间,以及事务处理速率和其他与时间相关的需求进行评测和评估2.3测试1(RW011新建)设计者创建日期2012-05-07 设计状态初稿用例类型手工操作用例描述在windows2007环境下,测试新建一个空白txt文档目的验证能实现新建空白txt文档的功能前提条件记事本系统可用测试步骤及输入:结果:步骤1 点击开始-所有程序-附件-记事本成功进入记事本系统步骤2 在记事本系统界面,点击文件-新建(ctrl+N)新建一个空白文档步骤3 在编辑区域输入1310906 显示出入值:123456步骤4 在编辑区域输入冉维显示出入值:冉维步骤5 在编辑区域输入ranwei 显示出入值:ranwei步骤6 在编辑区域输入@#$%^& 显示出入值:@#$%^&步骤7 点击文件-新建(ctrl+N)系统提示::点击是保存,点击否不保存,点击取消撤销新建功能步骤8 在桌面点击右键,选择新建-文本文档桌面新建一个,双击打开为空白文档RW012打开RW013保存或另存为RW014页面设置和打印”系统提示“步骤2 打开文件-打印(Ctrl+P)”2.3.1进度安排预计总测试时间(7天)2.3.2测试资料本项测试所需的资料:1. 计算器帮助文档;2. Microsoft公司的Windows XP下的计算器2.4测试2 (RW021编辑)RW02编辑RW021编辑软件记事本系统模块名称编辑名称设创建日期2012-05-07 计者设计初稿用例类型手工状态用例描述在windows2007环境下,测试编辑一个空白txt文档目的验证能对记事本进行操作前提条件记事本系统可用测试步骤及输入:结果:步骤1在编辑区域输入1310906 显示出入值:123456 步骤2在编辑区域输入冉维显示出入值:冉维步骤3在编辑区域输入ranwei 显示出入值:ranwei 步骤4在编辑区域输入@#$%^& 显示出入值:@#$%^&步骤5 点击编辑-撤销(Ctrl+Z)显示内容:ranwei步骤6 点击编辑-剪切(Ctrl+X),选中的内容是ranwei选中内容消失步骤7 点击编辑-复制(Ctrl+C),选中的内容是ranwei选中内容没变化步骤8 点击编辑-粘贴(Ctrl+V),选中的内容是ranwei显示内容:ranweiranwei步骤9 点击编辑-删除(Del),选中的内容是ranwei显示内容:ranwei步骤10 点击编辑-查找(Ctrl+F),查找内容r显示内容:r字符蓝色标记步骤11 点击编辑-查找下一个(F3),查找内容r显示内容:选择一次,则r相应的而后一个字符转变为蓝色,没有则显示步骤12 点击编辑-替换(Ctrl+H),第一个r替换为w显示内容:wanwei步骤13 点击编辑-全选(Ctrl+A)显示内容:wanwei,字体颜色全部变为蓝色步骤14 点击编辑-时间/日期(F5)显示内容:2.4.1测试资料本项测试所需的资料:1. 计算器帮助文档;2. Microsoft公司的Windows XP下的记事本2.5测试3 (RW03格式)RW03格式RW031自动换行软件名称记事本系统模块名称自动换行设计者创建日期2012-05-07 设计状态初稿用例类型手工用例描述在windows2007环境下,测试新建一个空白txt文档目的实现”自动换行”和”非自动换行”的状态间切换功能前提条件记事本系统可用测试步骤及输入:结果:步骤1 打开记事本,选择格式下的自动换行换行成功步骤2 在空白区域里输入的汉字超过一行字的范围,点击自动换行换行成功步骤3 选中在空白区域所编辑的数据。
设计性实验黑盒子实验报告一、实验任务盒里的元件可能是:干电池、定值电阻、电容器、半导体二极管。
盒外可见的两接线端之间也可能为断路或短路的情况。
各元件连接在接线端(或插座)上,两个接线端(或插座)之间装接一个元件,元件之间不连成并联回路。
要求设计实验方案和检测步骤,判定盒内元件。
1.学习依据不同类型电学元件的特性对元件进行判别;2.进一步熟悉数字万用表等电学仪表的使用;3.根据实验室提供的仪器自行设计方案,检测黑盒子内元器件类型和位置,再进一步确定元件的物理量数值。
二、实验要求自行设计合理而又简捷的程序,对给出的黑盒子进行测试,判定盒中元件类型,并写出测试记录和作出判定的依据,对于电池,要判定其正负极,并测出其电动势,对于二极管,要判定其正负极,并测出二极管的正向导通压降,如果判断元件为电容和电阻,要求测出其数值。
(实验过程不得自行打开盒子)1、根据实验任务,查阅有关资料。
2、自拟实验步骤和直接测量数据的记录表格。
3、选择实验仪器(型号或规格)。
4、对实验方案作可行性报告分析。
5、根据设计实验方案,将测量的数据填入表中,正确写出实验测量结果。
6、对实验结果进行比较、分析、讨论。
三、实验仪器5JK 型暗盒实验箱、直流稳压电源、数字式万用表、电阻箱、开关、导线 四、实验内容1.判断有无干电池:可用电压表测两接线柱间电压,若有一定电图11 211 3 45 6 7 89 10 11 1213 14 15 16压,可确定为干电池,如当电压表接通时指针稍有摆动而又回到零位,则是电池与电容串联。
2判断有无二极管:设计电路如图,将电源与直流电流表串联,并串联一个定值电阻R,将导线连接两端钮,观察电流表读数,再交换连接两端钮,观察电流表读数,若两次读数,一次几乎为0,一次有一定的读数,可确定为二极管,并根据读数可确定二极管正负。
3.判断有无电容:当黑盒子两端钮间有电容C存在时,可用直流电源串联直流电压表或直流电流表接到两端钮。
黑盒测试技术实验报告(最终5篇)第一篇:黑盒测试技术实验报告黑盒测试技术—三角形问题实验报告一、问题描述输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?如果能构成三角形,则判断三角形的类型并输出(等边三角形、等腰三角形、一般三角形),如果不构成三角形输出不能构成三角形。
要求:(1)输入三个整数a、b、c,必须满足以下条件:1≤a≤200;1≤b≤200;1≤c≤200。
(2)容错处理:输入空值的提示;输入的值满足类型的提示;(3)不限制开发环境,不限制开发语言;(4)尽可能不对自己的程序进行测试设计。
(5)请分别采用边界值分析法、等价类分析法、决策表分析法、基于场景分析法设计测试用例;(6)正文格式(除源代码用小五号单倍行距),其他行距固定值 20,字号小四。
二、程序主要源代码(标注:测试的源代码是哪位同学(学号姓名)编写的。
)三、程序界面(截图)四、设计测试用例1.用边界值测试方法设计测试用例用边界值分析法设计测试用例,按照下列步骤进行:((1)分析各变量取值三角形三条边的取值范围都是1-200,所以边长A 的边界点为 1 和 200,边长 B的边界点为 1 和 200,边长 C 的边界点为 1 和 200。
((2)测试用例数输入条件边界值测试数据 A 1,200 0,1,2,199,200,201 B 1,200 0,1,2,199,200,201 C 1,200 0,1,2,199,200,201设计测试用例(给出所有测试用例)三角形问题的测试用例测试用例编号输入数据预期输出测试结果 a b c 1 0 100 100 边长 A 不合法边长 A 不合法1 100 100 等腰三角形等腰三角形 3 2 100 100 等腰三角形等腰三角形 4 199 100 100 等腰三角形等腰三角形 5 200 100 100 不是三角形不是三角形 6 201 100 100 边长 A 不合法边长 A 不合法100 0 100 边长 B 不合法边长 B 不合法100 1 100 等腰三角形等腰三角形 9 100 2 100 等腰三角形等腰三角形 10 100 199 100 等腰三角形等腰三角形 11 100 200 100 不是三角形不是三角形 12 100 201 100 边长 B 不合法边长 B 不合法100 100 0 边长 C 不合法边长 C 不合法100 100 1 等腰三角形等腰三角形 15 100 100 2 等腰三角形等腰三角形 16 100 100 199 等腰三角形等腰三角形 17 100 100 200 不是三角形不是三角形181****0201边长 C 不合法边长 C 不合法2.用等价类测试方法设计测试用例((1)首先分析题目中给出的条件和隐含的输入要求,输入条件如下:条件:1<=边长 A<=200,1<=边长 B<=200,1<=边长 C<=200 隐含条件:A输入条件有效等价类无效等价类是否是三角形1.1<=A<=2002.1<=B<=2003.1<=C<=2004.A200 8.B<1 || B>200 9.C<1 ||C>200 10.A>=B+C 11.B>=A+C 12.C>=A+B 等腰三角形13.A=B&&B!=C 14.A=C&&C!=B 15.B=C&&C!=A 16.A!=B&&A!=C&&B!=C 等边三角形17.A=B=C 18.A!=B 19.A!=C 20.B!=C(3)设计测试用例,覆盖上表中的等价类,如表1-3 表所示。
黑盒测试实验报告一实验内容1、系统地学习和理解黑盒测试的基本概念、原理,掌握黑盒测试的基本技术和方法;2、对一个已知的程序进行测试。
3、通过试验和应用,要逐步提高和运用黑盒测试技术解决实际测试问题的能力;4、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试报告等)二实验原理黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1 划分等价类划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
西实科技验报算告?实验名称计算器黑盒测试I实验地点____________________实验日期_______________指导教师__________________学生班级________________学生姓名__________________学生学号_________________提交日期软件教研室制一、测试目的设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析二、测试内容1•软件说明:实现一个小的计算器程序,只需要完成加、减、乘、除运算,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。
2、设计测试用例3、执行测试4、测试结果分析5、源代码三、测试步骤(一)、计算器界面2、设计测试用例(1)等价类测试:1、4个等价类测试用例的分析过程如下:2、对应测试的结果分析: 整型:1.加(55+50)2.减(78-24)3.乘(15*25)4.除(36/4)小数1.加(25.3+12.7)2.减(14.3-11.7)3.乘(25.6*12.8)4.除(50.2/20.7)负数6.加-20+-217.减(-15)-(-14)8.乘-12*-129.除-16/-5(其中算式写法错误导致正常运算错误)无效输入1.加(E1+t2):程序中无效数字无法正常输入,程序无法进行。
2.减(G4-k5)程序中无效数字无法正常输入,程序无法进行。
(同上)3.乘(I5*l6)程序中无效数字无法正常输入,程序无法进行。
(同上)4.除(Ff/se)程序中无效数字无法正常输入,程序无法进行。
(同上)简易计食器1、计算器4个标准等价类测试用例的分析过程如下:测试用例被加数加数预期输出Testi 0 10 正常运算Test2 1 10 正常运算Test3 40 10 正常运算Test4 55.5 10 正常运算Test5 -70 10 正常运算Test6 10 10 正常运算Test7 101 10 正常运算Test8 10 0 不能运算Test9 10 1 正常运算Test10 10 40 正常运算Testil 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test2结果:Test3结果:Test4结果:Test5结果:Test6结果:减法:1、计算器4个标准等价类测试用例的分析过程如下:2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:乘法1、计算器42、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Testi结果:Test3结果:Test4结果:Test5结果:Test6结果:除法1、计算器4个标准等价类测试用例的分析过程如下:测试用例被除数除数预期输出Test2结果:Test3结果:Test8结果:附录:源代码CCalculateDlg::CCalculateDlg(CWnd* pParent /*=NULL*/):CDialog(CCalculateDlg::IDD, pParent){//{{AFX_DATA_INIT(CCalculateDlg)m_parameter = 0.0;//}}AFX_DATA_INIT// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;} void CCalculateDlg::DoDataExchange(CDataExchange* pDX)CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CCalculateDlg)DDX_Text(pDX, IDC_EDIT, m_parameter);//}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CCalculateDlg, CDialog)//{{AFX_MSG_MAP(CCalculateDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_clear, Onclear)ON_BN_CLICKED(IDC_calculate, Oncalculate)ON_BN_CLICKED(IDC_para1, Onpara1)ON_BN_CLICKED(IDC_para2, Onpara2)ON_BN_CLICKED(IDC_para3, Onpara3)ON_BN_CLICKED(IDC_para4, Onpara4)ON_BN_CLICKED(IDC_para5, Onpara5)ON_BN_CLICKED(IDC_para6, Onpara6)ON_BN_CLICKED(IDC_para7, Onpara7)ON_BN_CLICKED(IDC_para8, Onpara8)ON_BN_CLICKED(IDC_para9, Onpara9)ON_BN_CLICKED(IDC_para0, Onpara0)ON_BN_CLICKED(IDC_point, Onpoint)ON_BN_CLICKED(IDC_minus, Onminus)ON_BN_CLICKED(IDC_plus, Onplus)ON_BN_CLICKED(IDC_subtrack, Onsubtrack)ON_BN_CLICKED(IDC_multiply, Onmultiply)ON_BN_CLICKED(IDC_divide, Ondivide)//}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////// // CCalculateDlg message handlersBOOL CCalculateDlg::OnInitDialog(){CDialog::OnInitDialog();// Add "About..." menu item to system menu.// IDM_ABOUTBOX must be in the system command range.ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){CString strAboutMenu;strAboutMenu.LoadString(IDS_ABOUTBOX);if (!strAboutMenu.IsEmpty()){pSysMenu->AppendMenu(MF_SEPARATOR);pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);}}// Set the icon for this dialog. The framework does this automatically// when the application's main window is not a dialogSetIcon(m_hIcon, TRUE); // Set big iconSetIcon(m_hIcon, FALSE); // Set small icon// TODO: Add extra initialization herereturn TRUE; // return TRUE unless you set the focus to a control}void CCalculateDlg::OnSysCommand(UINT nID, LPARAM lParam){if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialog::OnSysCommand(nID, lParam);}}// If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework.void CCalculateDlg::OnPaint(){if (IsIconic())CPaintDC dc(this); // device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);// Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;// Draw the icon dc.DrawIcon(x, y, m_hIcon);}else{CDialog::OnPaint();}}// The system calls this to obtain the cursor to display while the user drags // the minimized window.HCURSOR CCalculateDlg::OnQueryDragIcon(){return (HCURSOR) m_hIcon;}void CCalculateDlg::Onclear(){UpdateData(true);m_parameter = 0;CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code herevoid CCalculateDlg::Oncalculate(){UpdateData(true);CalculatePara = m_parameter;switch(CalculateExpre){case'+':CalculateResult += CalculatePara;m_parameter = CalculateResult;break;case,-':CalculateResult -= CalculatePara;m_parameter = CalculateResult;break;case,*,:CalculateResult *= CalculatePara;m_parameter = CalculateResult;break;case,/':if (CalculatePara){CalculateResult /= CalculatePara;m_parameter = CalculateResult;}else{m_parameter = 0;MessageBox(”除数不能为零!”);} break;}// TODO: Add your control notification handler code hereCalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);}void CCalculateDlg::Onpara1(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 1;}else{CalculatePara = m_parameter + 1/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara2(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 2;elseCalculatePara = m_parameter + 2/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara3(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 3;}else{CalculatePara = m_parameter + 3/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara4(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 4;}elseCalculatePara = m_parameter + 4/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara5(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 5;}else{CalculatePara = m_parameter + 5/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara6(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 6;}else{CalculatePara = m_parameter + 6/pow(10,Sumpoint);Sumpoint++;m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara7(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 7;}else{CalculatePara = m_parameter + 7/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara8(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 8;}else{CalculatePara = m_parameter + 8/pow(10,Sumpoint);Sumpoint++;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara9(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 9;}else{CalculatePara = m_parameter + 9/pow(10,Sumpoint);Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onpara0(){UpdateData(true);if (!Ispoint){CalculatePara = m_parameter*10 + 0;}else{Sumpoint++;}m_parameter = CalculatePara;UpdateData(false);// TODO: Add your control notification handler code here void CCalculateDlg::Onpoint(){Ispoint = true;Sumpoint = 1;// TODO: Add your control notification handler code here}void CCalculateDlg::Onminus(){UpdateData(true);m_parameter = 0 - m_parameter;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onplus(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '+';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onsubtrack(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre =m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Onmultiply(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '*';m_parameter = 0;Ispoint = false;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }void CCalculateDlg::Ondivide(){UpdateData(true);CalculateResult = m_parameter;CalculateExpre = '/';m_parameter = 0;Ispoint = false;UpdateData(false);// TODO: Add your control notification handler code here。
一、实验目的1、能熟练应用功能性测试技术进行测试用例设计;2、对测试用例进行优化设计;二、实验内容题目11、题目内容描述三角形问题:输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断着三条边是否能够成三角形。
如果能够成三角形,则判断三角形的类型(等边三角形、等腰三角形、一般三角形)。
要求输入三个整数a、b、c,必须满足以下条件:1<=a<=100;1<=b<=100;1<=c<=100。
2、测试用例的编写3、测试结果分析A、测试结果列表:B、测试结果截图:C、分析结果:有以上结果可知:用例7和用例16失败可得出该程序考虑不周全。
当输入数据为小数时,程序无法输出正确结果,另外,当输入数据不是一个数的时候,程序也无法输出正确结果。
4、实验思考三角形问题的关键在我看来是隐含的对输入条件的要求:1.正数 2.3个数 3.整数 4.非零数 5.两边之和大于第三边6. 等腰三角形7.等边三角形,对这些输入条件进行考虑并选择测试数据测试,运用等价类测试法,一个三角形问题就基本可以解决了。
通过这次软件测试实验,我学到了很多东西。
这次的实验内容是三角形问题,首先我根据需求规格说明书和所应具有的功能位依据,确定了有效等价类和无效等价类,从而画出了等价类表;然后我又根据等价类表写出了测试用例表。
接着在C++环境下编写出了相应的程序,再根据测试用例表,测试出相应的结果。
虽然是一个简单的测试,但是我认识到,测试效果的好坏很大程度上取决于是否采用好的测试过程,所以应该先精心设计好测试过程,然后再认真执行这些过程,而不是盲目的进行测试。
附录:程序代码主要函数(判断输入数据的函数)void CMyDlg::OnBTNJudge(){// TODO: Add your control notification handler code hereUpdateData();if(!(this->m_num1+this->m_num2<=this->m_num3 || this->m_num1+this->m_num3<=this->m_num2 || this->m_num2+this->m_num3<=this->m_num1) && (this->m_num1>=1 && this->m_num1<=100) && (this->m_num2>=1 && this->m_num2<=100)&&(this->m_num3>=1 && this->m_num3<=100)) {if (this->m_num1==this->m_num2 && this->m_num1==this->m_num3) MessageBox(" 等边三角形",NULL,MB_OK);else if (this->m_num1==this->m_num2 || this->m_num1==this->m_num3 || this->m_num2==this->m_num3)MessageBox(" 等腰三角形",NULL,MB_OK);elseMessageBox(" 一般三角形",NULL,MB_OK);}else{if(this->m_num1<1||this->m_num1>100||this->m_num2<1||this->m_num2>1 00||this->m_num3<1||this->m_num3>100)MessageBox(" 输入有误",NULL,MB_OK);elseMessageBox(" 不是三角形",NULL,MB_OK);}}。
⿊盒测试⿊盒测试⼀第⼀课1. 实验⽬的理解墨盒测试的基本⽅法,掌握等价类划分法、边界值分析等测试⽤例的设计⽅法。
2.实验内容(1) 等价类划分⽅法1) 三⾓形问题等价类划分设计测试⽤例2) NextDate问题,对它的输⼊进⾏分析,划分等价类,然后根据等价类设计测试⽤例。
(2) 边界值和因果图1)NextDate问题⽤边界值分析法设计测试⽤例分析NextDate问题中的逻辑,⽤边界值分析法的思想设计测试⽤例。
2) 有⼀个处理单价为5⾓钱的饮料的⾃动售货机软件测试⽤例的设计。
其规格说明如下:若投⼊5⾓钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。
若售货机没有零钱找,则⼀个显⽰[零钱找完]的红灯亮,这时再投⼊1元硬币并押下按钮后,饮料不送出来⽽且1元硬币也退出来;若有零钱找,则显⽰[零钱找完]的红灯灭,在送出饮料的同时退还5⾓硬币。
⽤因果图法对⾃动售货机设计测试⽤例。
要求:(1) 1)必做(1) 2)与(2)1)2)选做其⼀3.实验准备(1)主流PC机⼀套,要求安装windows操作系统、Virtul Studio6.0、C++Test、java等⼯具;(1)理解等价类划分法、边界值分析法的思想,划分依据;(2)熟悉上述⽅法测试⽤例设计的理论4.实验步骤(1)三⾓形问题1) 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)MessageBox("等边三⾓形");else if (a==b || a==c || b==c)MessageBox("等腰三⾓形");elseM essageBox("⼀般三⾓形");}else {if(a<1||a>100)MessageBox("a不在范围内,不满⾜条件1,不能构成三⾓形");else if(b<1||b>100)MessageBox("b不在范围内,不满⾜条件2,不能构成三⾓形"); else if(c<1||c>100)MessageBox("c不在范围内,不满⾜条件3,不能构成三⾓形"); else if(a>=b+c)MessageBox("不满⾜aelse if(b>=a+c)MessageBox("不满⾜belse if(c>=b+a)MessageBox("不满⾜c}M essageBox("判断结束!");}2) 实验的输⼊和输出样式3) 测试⽤例设计⽤等价类分析法设计测试⽤例,按照下列步骤进⾏:⑴分析题⽬中给出的条件和隐含的输⼊要求,输⼊条件如下:①正整数②三个数③构成⼀般三⾓形④构成等腰三⾓形⑤构成等边三⾓形⑥不能构成三⾓形⑵根据输⼊条件的要求划分等价类,列出等价类表并编号,如下表:⑶设计测试⽤例,覆盖上表中的等价类,如下表:注:提⽰1(输⼊不符合要求)提⽰2(请输⼊数据)(2)(2) (2) NextDate问题⽤边界值分析法设计测试⽤例1)对于NextDate问题,分析它的输⼊限制;NextDate是⼀个有三个变量(⽉份、⽇期和年)的函数。
软件质量保证与测试实验指导计算机工程学院测试环境配置1.settingJunit(1)startEclipseSelectwindows-preferences-java-buildpath–classpathvariables(2)clicknew,thefigureofnewvariableentryisshown.(3)name JUNIT_LIBselectfile-选择JUnit插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中2.JUNIT的组成框架其中,junit.framework和junit.runner是两个核心包。
junit.framework负责整个测试对象的框架junit.runner负责测试驱动Junit的框架又可分为:A、被测试的对象。
B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。
C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。
D、测试结果的描述与记录。
(TestResult)。
E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure)F、JUnitFramework中的出错异常(AssertionFailedError)。
JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。
3.JUnit中常用的接口和类Test接口——运行测试和收集测试结果Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。
它的publicintcountTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是publicvoid run(TestResult),TestResult是实例接受测试结果,run方法执行本次测试。
软件工程黑盒测试实验报告实验目的本次实验旨在对软件工程中的黑盒测试进行实践,通过对已知需求的软件系统进行测试,检验系统是否符合需求规格说明书中的要求,并发现潜在的缺陷。
实验环境本次实验使用了XXX软件工程公司开发的测试工具,测试对象为一个简单的计算器应用程序。
测试环境为Windows操作系统。
实验步骤1.需求分析:首先对计算器应用程序的功能进行分析,了解其需求规格说明书中的各项功能。
2.测试用例设计:根据需求规格说明书编写测试用例,包括正常输入、异常输入和边界条件等。
3.测试执行:使用测试工具对计算器应用程序进行黑盒测试,按照设计的测试用例逐一执行,并记录测试结果。
4.缺陷分析:对测试过程中发现的缺陷进行分析,包括未通过的测试用例和异常情况。
5.报告撰写:根据实验结果撰写测试报告,总结测试过程中的经验和不足,并提出改进建议。
测试结果经过测试,计算器应用程序在正常输入条件下功能正常,符合需求规格说明书中的要求。
但在异常输入和边界条件下存在一些问题,如除数为零时未作出相应提示。
测试报告中详细列出了测试用例和测试结果。
不足之处1.部分测试用例设计不够全面,存在遗漏的情况。
2.对于一些复杂的边界条件,测试覆盖率不够。
3.缺乏对性能和安全性的测试,仅仅着重在功能方面进行测试。
改进建议1.加强对边界条件的测试,提高测试覆盖率。
2.增加对性能和安全性的测试,对于复杂的功能和数据进行更深入的测试。
3.定期进行测试用例的回归测试,保证软件系统的稳定性。
总结通过本次黑盒测试实验,我对软件工程中的测试方法和流程有了更深入的了解,并掌握了测试用例设计和执行的基本技巧。
实践中发现了自身的不足之处,在今后的学习和工作中将不断改进和提升自己的测试能力。
以上为本次软件工程黑盒测试实验的报告内容,感谢您的阅读。
黑龙江大学实验报告黑龙江大学教务处测试计划(GB8567——88)1引言1.1编写目的根据Windows XP计算器的帮助文档,制定对Windows XP计算器的测试用例。
该计划用来测试计算器功能。
包括:界面设计、输入输出、内部计算等。
根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2背景说明:a.测试计划所从属的软件系统:Windows XP;b.在开始执行本测试计划之前必须完成的工作:需要阅读有一个计算器的帮助文档。
1.3定义各种进制:十六进制,八进制,十进制,二进制1.4参考资料用到的参考资料:a.软件开发标准:GB8567。
b.Windows 计算器的帮助文档c.《软件测试教程》宫云站机械工业出版社2008年9月2计划2.1软件说明以下的图表是用来说明被测软件的功能来作为叙述测试计划的提纲。
2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
具体的测试内容如下:(1)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
(2)用户界面测试:测试界面之间是否能完成相互转换。
(3)性能测试:测试该计算器的响应时间,以及事务处理速率和其他与时间相关的需求进行评测和评估2.3测试1(执行简单计算)Windows XP中计算器简单的加,减,乘,除的计算2.3.1进度安排预计总测试时间(7天)2.3.2测试资料本项测试所需的资料:1.计算器帮助文档;2.Microsoft公司的Windows XP下的计算器2.4测试2(执行科学计算)Windows XP中“计算器”的科学计算功能2.4.1进度安排预计总测试时间(7天)2.4.2测试资料本项测试所需的资料:1.计算器帮助文档;2.Microsoft公司的Windows XP下的计算器3测试设计说明3.1测试1(执行简单计算)此项测试采用黑盒测试方法来测试该功能3.1.1控制本测试的控制方式采用手动方式进行3.1.2输入3.1.3输出3.1.4过程测试内容描述3.2测试2(执行科学计算)此项测试采用黑盒测试方法来测试该功能3.2.1控制本测试的控制方式采用手动方式进行3.2.2输入3.2.3输出3.2.4过程测试内容描述2.如下计算4评价准则4.1范围该计算器能完成一般的科学计算的问题。
windows自带计算器黑盒测试文档课程名称软件质量保证与测试实验项目名称黑盒测试方法测试计算器的测试文档2009年 11月12 日 6-7节实验时间 2009年 11月19 日 6-7节 (日期及节次) 2009年 11月26 日 6-7节专业软件工程学生所在学院软件学院年级 2006级学号 200608180姓名马小强指导教师金虎实验室名称软件学院第四实验室附加:综合实验预习情况操作技术实验报告创新能力综合成绩实验成绩教师签字黑龙江大学教务处测试计划(GB8567——88) 1引言1.1编写目的根据Windows XP计算器的帮助文档,制定对Windows XP计算器的测试用例。
该计划用来测试计算器功能。
包括:界面设计、输入输出、内部计算等。
根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2背景说明:a( 测试计划所从属的软件系统:Windows XP;b( 在开始执行本测试计划之前必须完成的工作:需要阅读有一个计算器的帮助文档。
1.3定义各种进制:十六进制,八进制,十进制,二进制1.4参考资料用到的参考资料:a( 软件开发标准:GB8567。
b( Windows 计算器的帮助文档c( 《软件测试教程》宫云站机械工业出版社 2008年9月 2计划2.1软件说明以下的图表是用来说明被测软件的功能来作为叙述测试计划的提纲。
序号模块名软件功能描述1 执行简单计算进行简单的加,减,乘,除,的计算2 执行科学计算进行科学计算(包括各种进制的计算)2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
具体的测试内容如下:(1)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
实验课程名称:软件质量保证与测试B图1 传统三角问题的解决方法描述2.2 问题描述的改进基于前述的三角形问题,继续增加如下限制,量化问题描述进行改进。
C1: 1 ≤a ≤200C2: 1 ≤b ≤200C3: 1 ≤ c ≤200C4: a < b + cC5: b<a+cC6: c<a+b如果输入整数值范围超出C1, C2, C3指定,则输出提示信息“V alue of b is not in the range of permitted values.”(以C2 不满足为例,其它类似)。
当输入a,b,c满足C4, C5, C6指定后,再判断三角形类型(Equilateral/Isosceles/Scalene / Not A Triangle)。
判断过程三角形的流程图如图2 所示。
图2 改进的三角问题解决方法描述三、实验原理边界值分析测试边界值分析测试分为四类:普通边界值(normal boundary value)测试,最坏情形边界值(worst-case boundary value)测试,健壮性边界值(robust boundary value)测试,健壮性最坏情形边界值(robust worst-case boundary value)测试。
在二维测试用例空间中,四种类型的测试用例分布如下图3 至图6 所示。
图3 普通边界值测试图4 最坏情形边界值测试图5 健壮性边界值测试图6 健壮性最坏情形边界值测试对于这四种测试,它们的关系可以用下表4 来描述。
表4 四种边界分析测试的关系健壮性是指在异常情况下,软件还能正常运行的能力。
单缺陷假设指“失效极少是由两个或两个以上的缺陷同时发生引起的”。
在边界值分析中,单缺陷假设即选取测试用例时仅仅使得一个变量取极值,其他变量均取正常值。
多缺陷假设,则是指“失效是由两个或两个以上缺陷同时作用引起的”,要求在选取测试用例时同else if(a == b || a == c || b == c) return "Isosceles";else return "Scalene";}public static boolean isTriangle(int a, int b, int c){if (a + b <= c) return false;if (a + c <= b) return false;if (b + c <= a) return false;return true;}3.2边界值分析测试实验通过边界值分析方法生成测试集,不断地修改程序,直到所有测试用例集测试均通过。
黑盒测试实验报告黑盒测试实验报告概述:黑盒测试是软件测试中的一种重要方法,通过不考虑内部结构和实现细节,仅根据输入和输出来评估软件系统的正确性和质量。
本实验旨在通过对一个简单的计算器应用进行黑盒测试,探索黑盒测试的原理和应用。
实验背景:计算器应用是我们日常生活中常用的工具之一。
为了确保计算器应用的正确性和稳定性,需要进行充分的测试。
黑盒测试方法可以帮助我们从用户的角度出发,对计算器应用进行全面的功能测试。
实验目的:1. 了解黑盒测试的基本原理和方法。
2. 学会设计黑盒测试用例,覆盖计算器应用的各种功能。
3. 分析测试结果,评估计算器应用的质量和稳定性。
实验步骤:1. 确定测试对象:选择一个常用的计算器应用作为测试对象,并安装在测试环境中。
2. 功能分析:仔细分析计算器应用的功能,包括基本运算、括号运算、科学计算等。
3. 设计测试用例:根据功能分析,设计一系列测试用例,覆盖计算器应用的各种功能和边界情况。
4. 执行测试用例:按照设计的测试用例,逐一执行测试,并记录测试结果。
5. 分析测试结果:根据测试结果,分析计算器应用的错误和不足之处。
6. 评估质量和稳定性:综合考虑功能覆盖度、错误数量和严重程度等指标,评估计算器应用的质量和稳定性。
实验结果:经过一系列的测试,我们发现计算器应用在基本运算和括号运算方面表现良好,没有出现明显的错误。
然而,在科学计算功能方面,我们发现了一些问题。
例如,在计算较大的数值时,计算器应用会出现计算结果不准确的情况。
此外,部分科学计算函数的实现也存在一些小问题。
综合考虑,我们认为计算器应用在基本功能上表现较好,但在科学计算方面仍有一些改进的空间。
实验总结:通过这次实验,我们深入了解了黑盒测试的原理和应用。
黑盒测试方法可以从用户的角度出发,全面评估软件系统的正确性和质量。
在实际测试过程中,我们需要设计合理的测试用例,覆盖各种功能和边界情况,并对测试结果进行分析和评估。
通过不断的测试和改进,可以提高软件系统的质量和稳定性。
1《软件测试技术》实验报告2实验序号:04 实验项目名称:黑盒测试3(55,4000,400)输入无效○6(55,75,250)输入无效○8(55,75,33000)输入无效○94) 测试结果:所有测试都成功,且测试的覆盖率为百分百2、NextDate问题1)分析它的输入限制NextDate是一个有三个变量(月份、日期和年)的函数。
函数返回输入日期后面的那个日期。
变量月份、日期和年都是整数值,并满足以下条件:c1:1<=月份<=12 c2:1<=日期<=31 c3:1812<=年<=20122)边界值测试设计编号输入期望输出Year Month Day001 1993 -1 15 Month不在1~12中002 1993 0 15 Month不在1~12中003 1993 1 15 1993年1月16日004 1993 11 15 1993年11月16日035 1993 1 32 Day不在1~31中3)测试结果:所有测试都成功,且测试的覆盖率为百分百3、自动售货机问题1)分析自动售货机中一共存在5个条件和5个结果:条件:C1、售货机有零钱找C2、投入1元硬币C3、投入5角硬币C4、按下橙汁按钮C5、按下啤酒按钮结果:E1、售货机“零钱找完”灯亮E2、退还1元硬币E3、退还5角硬币E4、送出橙汁饮料E5、送出啤酒饮料2)因果图的分析结果006 (Beer,5C)有零钱送出啤酒007 (OrangeJuice,4C)有零钱Money Error008 (Beer,4C)有零钱Money Error009 (cola,1D)无零钱红灯亮,退1元010 (OrangeJuice,1D)无零钱红灯亮,退1元011 (Beer,1D)无零钱红灯亮,退1元012 (cola,5C)无零钱退5角013 (OrangeJuice,5C)无零钱送出橙汁014 (Beer,5C)无零钱送出啤酒015 (OrangeJuice,4C)无零钱Money Error016 (Beer,4C)无零钱Money Error6)测试结果:所有测试都成功,且测试的覆盖率为百分百五、分析与讨论该实验借助了Eclipse+JUnit+EclEmma进行了测试。
2013春季教师:蒲蔚实验报告1 –黑盒测试学号:2013141463245 姓名:柳阳1引言【黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用。
】2随机测试计划【需包括但不仅限于以下信息:被测的功能,采用的测试策略(例如:测试很多功能,但对每个功能只做简单测试;或者,只测试少数几个功能,但是测试得很彻底;等等),以及你如何计划测试用例(主要测试一般路径还是特殊路径,等)。
你的计划只需要合理即可,不要求做到最完美。
被测的功能:用户需要插入银行卡,输入密码(PIN),系统验证这些信息的正确性后才能进入系统用户可以从自己银行卡的任何账户中取出20整数倍的现金;用户可以将现金/支票存入银行卡的任何账户用户可以在自己银行卡的两个账户之间自由转账用户可以查询账户余额用户可以在任何时候按下Cancel键退出当前交易密码出错时,最多可以尝试3次。
超过3次后,系统会锁定此银行卡对于任何不成功的交易,系统都会显示失败原因,并询问用户是否继续其它交易系统可以打印交易回执,回执中包括:日期、时间、ATM机位置、交易类型、账户、交易金额、账户余额。
按下on按钮,打开此ATMATM空闲(没有用户使用时)时,才可以按下off按钮进行关闭测试策略:对每一个用例都进行彻底的测试如何计划测试用例:将每一个用例都进行等价类划分的测试】3随机测试用例设计【列出你在随机测试时使用的测试用例,格式参考如下表格】14随机测试和手动测试的比较随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例没有覆盖到的部分。
另外,对于软件更新和新增加的功能要重点测试。
电学黑盒子实验报告
1、电学黑盒子实验的步骤:判断有无电池使用万用电表的电压量程,表笔接到任意两个接线柱,分别测量,电表均无示数,说明盒内无电池。
二极管的判断同样的方法,得知ad、dc之间为二级管,方向可知。
2、黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
3、分别用电流表对每两个点测试,看是否有电流值。
这如果是电阻的话,电流值最小,几个点分别测试一下就能清楚对应的原件了。
4、使用该方法设计测试用例主要有两个步骤:(1)确定等价类;
(2)生成测试用例。
(二)边界值分析法边界值分析法是对程序输入或输出的边界值进行测试的一种黑盒测试方法。
5、等价类划分法:等价类划分是把所有可能的输入数据划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法。