黑盒测试实验报告记录
黑盒子实验报告_设计性实验

设计性实验黑盒子实验报告一、实验任务盒里的元件可能是:干电池、定值电阻、电容器、半导体二极管。
盒外可见的两接线端之间也可能为断路或短路的情况。
各元件连接在接线端(或插座)上,两个接线端(或插座)之间装接一个元件,元件之间不连成并联回路。
要求设计实验方案和检测步骤,判定盒内元件。
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存在时,可用直流电源串联直流电压表或直流电流表接到两端钮。
黑盒测试实验报告

黑盒测试实验报告
1. 引言
黑盒测试是软件测试中常用的一种测试方法,它不需要了解被测试系统的内部结构和实现细节,只通过输入和输出来评估系统的正确性和健壮性。
本实验通过对一个示例系统进行黑盒测试,以评估其功能的完整性和安全性。
2. 实验目标
本次实验的主要目标是对示例系统进行黑盒测试,发现其中存在的功能缺陷和安全漏洞,并给出相应的解决方案。
具体实验目标包括:
- 确定需求和功能规格说明进行黑盒测试;
- 根据功能规格说明设计黑盒测试用例;
- 执行黑盒测试用例并记录测试结果;
- 分析测试结果,发现潜在的功能缺陷和安全漏洞;
- 提出相应的解决方案和改进建议。
3. 实验环境
本次实验使用的环境如下:
- 操作系统:Windows 10
- 开发工具:Eclipse
- 测试工具:JUnit
4. 测试需求和功能规格说明
根据实验要求,我们对示例系统的功能进行了分析,确定了以
下需求和功能规格说明:
1) 用户注册功能:允许用户进行账号注册,提供用户名、密码
和邮箱等信息,注册成功后可以登录系统。
2) 用户登录功能:已注册用户可以通过输入正确的用户名和密
码登录系统。
3) 查看个人信息功能:登录后,用户可以查看自己的个人信息,包括用户名、邮箱等。
黑盒测试技术实验报告(最终5篇)

黑盒测试技术实验报告(最终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. 分析不同输入条件下的输出结果,推断黑盒子的内部工作原理。
实验结果:经过一系列实验,我们得出以下结论:1. 黑盒子对不同输入条件的响应存在一定的规律性,但具体的工作原理仍不为人所知。
2. 黑盒子的输出结果可能受到多种因素的影响,包括输入信号的强度、频率等。
3. 黑盒子在系统中起着重要的作用,其工作原理的解析对系统的稳定性和性能有重要意义。
实验分析:黑盒子的内部结构和工作原理一直以来都是科学家们关注的焦点。
通过本次实验,我们对黑盒子的工作原理有了初步的了解,但仍需要进一步的研究和探索。
黑盒子的工作原理对于系统的稳定性和性能有着重要的影响,因此对其进行深入的研究具有重要意义。
结论:通过本次实验,我们对黑盒子的工作原理有了初步的了解,但仍需要进一步的研究和探索。
黑盒子在系统中起着重要的作用,其工作原理的解析对系统的稳定性和性能有重要意义。
我们将继续深入研究黑盒子的内部结构和工作原理,为系统的稳定性和性能提供更好的支持。
参考文献:1. Smith, J. (2010). Understanding the Black Box: A Guide for Researchers. New York: Academic Press.2. Brown, A. (2015). The Role of Black Box in System Stability. Journal of Engineering, 25(3), 112-120.以上为本次实验的报告内容,感谢各位专家和同事的支持与帮助。
计算器黑盒测试实验报告

西实科技验报算告?实验名称计算器黑盒测试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年1月1日是星期一,只要输入年月日,能自动回复当天是星期几;测试环境:Windows 2000、Dev C++;说明:因程序简单,因此未使用测试软件,均为手工输入,得到输出进行测试。
为简单起见,不考虑公元前的日期。
程序说明:A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数B闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0)(1)分析各种输入情况,结合程序输出结果,进行等价类划分,并给出详细测试用例;(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;(3)决策表测试法;①列出输入变量month、 day、 year的有效等价类;(条件桩)②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)③画出决策表(简化);④根据决策表,给出详细测试用例。
三、实验要求(1)根据题目要求编写测试用例(2)实现测试用例的黑盒测试(3)撰写实验测试报告(4)试验心得总结四、实验测试过程1、对测试用例进行等价类划分。
等价类划分表:2、选择测试用例,使之覆盖所有等价类情况。
测试用例表:3、对测试用例进行边界值分析。
边界值分析表(1<=year<=2050):五、实验结果及结论结果分析:原因:C1:year为闰年C2:month为1、3、5、7、8、10、12 C3:month为4、6、9、11C4:month为2C5:1<=day<=27C6:day=28C7:day=29C8:day=30C9:day=31结果:E1:输出今天是星期几E2:提示:输入不满足要求决策表:结论:程序无逻辑性等大的错误,但需要进一步完善,如对输入进行限定等。
软件工程黑盒测试实验报告

软件工程黑盒测试实验报告实验目的本次实验旨在对软件工程中的黑盒测试进行实践,通过对已知需求的软件系统进行测试,检验系统是否符合需求规格说明书中的要求,并发现潜在的缺陷。
实验环境本次实验使用了XXX软件工程公司开发的测试工具,测试对象为一个简单的计算器应用程序。
测试环境为Windows操作系统。
实验步骤1.需求分析:首先对计算器应用程序的功能进行分析,了解其需求规格说明书中的各项功能。
2.测试用例设计:根据需求规格说明书编写测试用例,包括正常输入、异常输入和边界条件等。
3.测试执行:使用测试工具对计算器应用程序进行黑盒测试,按照设计的测试用例逐一执行,并记录测试结果。
4.缺陷分析:对测试过程中发现的缺陷进行分析,包括未通过的测试用例和异常情况。
5.报告撰写:根据实验结果撰写测试报告,总结测试过程中的经验和不足,并提出改进建议。
测试结果经过测试,计算器应用程序在正常输入条件下功能正常,符合需求规格说明书中的要求。
但在异常输入和边界条件下存在一些问题,如除数为零时未作出相应提示。
测试报告中详细列出了测试用例和测试结果。
不足之处1.部分测试用例设计不够全面,存在遗漏的情况。
2.对于一些复杂的边界条件,测试覆盖率不够。
3.缺乏对性能和安全性的测试,仅仅着重在功能方面进行测试。
改进建议1.加强对边界条件的测试,提高测试覆盖率。
2.增加对性能和安全性的测试,对于复杂的功能和数据进行更深入的测试。
3.定期进行测试用例的回归测试,保证软件系统的稳定性。
总结通过本次黑盒测试实验,我对软件工程中的测试方法和流程有了更深入的了解,并掌握了测试用例设计和执行的基本技巧。
实践中发现了自身的不足之处,在今后的学习和工作中将不断改进和提升自己的测试能力。
以上为本次软件工程黑盒测试实验的报告内容,感谢您的阅读。
软件黑盒测试实验报告

软件黑盒测试实验报告软件黑盒测试实验报告概述:软件黑盒测试是一种测试方法,它不考虑软件的内部结构和实现细节,而是从用户的角度出发,通过输入和输出数据进行测试,以验证软件的功能和性能是否符合预期。
本实验旨在通过对一款音乐播放软件进行黑盒测试,评估其功能和性能。
实验设计:1. 功能测试:a. 用户登录:测试用户登录功能是否正常,包括用户名和密码的验证。
b. 播放音乐:测试音乐播放功能是否正常,包括播放、暂停、停止等操作。
c. 搜索音乐:测试搜索功能是否正常,包括根据歌曲名、歌手名等进行搜索。
d. 创建播放列表:测试创建播放列表功能是否正常,包括添加、删除、重命名等操作。
e. 分享音乐:测试分享音乐功能是否正常,包括通过社交媒体、邮件等方式分享。
2. 性能测试:a. 响应时间:测试软件的响应时间是否满足用户的需求,包括打开软件、搜索音乐等操作的响应时间。
b. 内存占用:测试软件在运行过程中的内存占用情况,评估其对系统资源的消耗。
c. 并发性能:测试软件在多用户同时使用的情况下,是否能够正常运行,不出现卡顿、崩溃等问题。
实验过程:1. 功能测试:a. 用户登录:通过输入正确的用户名和密码进行测试,验证登录功能是否正常。
b. 播放音乐:选择不同的音乐进行测试,验证播放、暂停、停止等操作是否正常。
c. 搜索音乐:输入不同的关键词进行搜索,验证搜索功能是否能够正确返回结果。
d. 创建播放列表:创建、添加、删除、重命名播放列表进行测试,验证功能是否正常。
e. 分享音乐:选择不同的分享方式进行测试,验证分享功能是否正常。
2. 性能测试:a. 响应时间:记录软件在不同操作下的响应时间,评估是否满足用户的需求。
b. 内存占用:使用系统监测工具记录软件的内存占用情况,评估其对系统资源的消耗。
c. 并发性能:模拟多用户同时使用软件进行测试,观察是否出现性能问题。
实验结果:1. 功能测试:a. 用户登录功能正常,用户名和密码验证正确。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试实验报告记录————————————————————————————————作者:————————————————————————————————日期:黑盒测试实验报告一实验内容1、系统地学习和理解黑盒测试的基本概念、原理,掌握黑盒测试的基本技术和方法;2、对一个已知的程序进行测试。
3、通过试验和应用,要逐步提高和运用黑盒测试技术解决实际测试问题的能力;4、完成实验并认真书写实验报告(要求给出完整的测试信息,如测试程序、测试用例,测试报告等)二实验原理黑盒测试原理:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
软件的黑盒测试意味着测试要在软件的接口处进行。
这种方法是把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。
因此黑盒测试又叫功能测试。
从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但可能的输入进行测试。
这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。
黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。
具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。
等价类划分的办法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
该方法是一种重要的,常用的黑盒测试用例设计方法。
1 划分等价类划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。
取得较好的测试结果。
等价类划分可有两种不同的情况:有效等价类和无效等价类。
有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。
利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反。
设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验。
这样的测试才能确保软件具有更高的可靠性。
2 边界值分析边界值分析是通过选择等价类边界的测试用例。
边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。
它是对等价类划分方法的补充。
(1)边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。
因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。
通常输入和输出等价类的边界,就是应着重测试的边界情况。
应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
(2)基于边界值分析方法选择测试用例的原则:1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
3)根据规格说明的每个输出条件,使用前面的原则1)。
4)根据规格说明的每个输出条件,应用前面的原则2)。
5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
6)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
7)分析规格说明,找出其它可能的边界条件。
3 错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
例如, 在单元测试时曾列出的许多在模块中常见的错误。
以前产品测试中曾经发现的错误等, 这些就是经验的总结。
还有,输入数据和输出数据为0的情况。
输入表格为空格或输入表格只有一行。
这些都是容易发生错误的情况。
可选择这些情况下的例子作为测试用例。
4 因果图法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等。
考虑输入条件之间的相互组合,可能会产生一些新的情况。
但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。
因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。
这就需要利用因果图(逻辑模型)。
因果图方法最终生成的就是判定表。
它适合于检查程序输入条件的各种组合情况。
注:该用于被测试的程序能完成根据输入的年月日计算星期几的功能。
已知公元1年1月1日是星期一。
为简单起见不考虑公元前的日期。
year三实验方法1 测试1(执行简单计算)1.1 输入输入条件有效等价类编号无效等价类编号键入计算的第一个数-99…9(32位)~99…9(32位)1小于等于-1×103313小数点 2大于等于1×103314测试程序yearmonth day 星期几year输入输出程序非数字字符15运算符‘+’ 3 除‘+’、‘-’、‘*’、‘/’、‘+/-’、‘%’、‘1/x’,‘sqrt‘外的其他字符16‘-’ 4‘*’ 5‘/’ 6‘+/-’7‘%’8‘1/x’9 第一个数为0单击‘1/x’17‘sqrt’10 第一个数为负数单击‘sqrt’18第二个数字-99…9(32位)~99…9(32位)11 0(若第二个运算符为‘/‘)19小于等于-1×103320小数点12大于等于1×103321非数字字符221.2过程用例描述计算器简单的加,减,乘,除的计算前置条件打开Windows XP 的计算器界面测试内容描述步骤描述输入数据预期结果1。
键入计算的第一个数数字或小数点在框中显示你输入的数其他字符提示出错2。
单击“+”、“-”、“*” 、“/”或“+/-”。
“+”、“-”、“*” 、“/”或“+/-”界面上无任何反应,但已经记录了需要做什么计算其他字符提示出错3。
键入计算的下一个数字。
数字或小数点在框中显示你输入的数其他字符提示出错4。
输入所有剩余的运数字或小数点在框中显示你输入的数算符和数字。
(连加连减连乘连除)其他字符提示出错2 测试2(执行科学计算)2.1 输入输入条件有效等价类编号无效等价类编号十进制数-99…9(32位)~99…9(32位)1小于等于-1×103310大于等于-1×103311非数字字符12二进制数小于等于64位的非0开头的0、1的任意组合2 以0开头的数13输入有除0、1外的其他字符14大于64位15八进制数小于等于21位的非0开头的0~7的任意组合3 以0开头的数16组合中有除0~7外的其他字符17大于21位18十六进制数小于等于16位的非0开头的0~7、A~F的任意组合4 以0开头的数19小数点 5 组合中有除0~7、A~F外的其他字符20大于16位21 转换十进制 6二进制7八进制8十六进制92.2过程用例描述计算器的科学计算前置条件打开Windows XP 的计算器界面测试内容描述步骤描述输入数据1。
单击“查看“菜单中的科学型单击“查看“菜单的科学型按钮2。
如下计算十六进制输入字符为0-9,或A-F 在框中显示你输入的数其他字符提示出错十进制输入字符为0-9 在框中显示你输入的数其他字符提示出错八进制输入字符为0-8 在框中显示你输入的数其他字符提示出错二进制输入字符为0、1 在框中显示你输入的数其他字符提示出错倒数计算非0数字计算出正确的数值0 除数不能为0其他字符提示出错3使用的各种运算符,进行计算单击要使用的各种运算符,进行各种运算正常进行各种计算四实验结果打开Windows XP计算器(开始—所有程序—附件—计算器),如下图所示:设计测试用例并记录,实验结果如下表所示:1 测试1(执行简单计算)测试用例编号输入数据输出覆盖第一个数字运算符第二个数字1 1。
2 + 4。
1 5。
3 1 2 3 11 122 21 -3 18 14 113 13 * 3 39 1 5 114 6 / 1 6 1 6 115 5 ‘+/-’-5 1 76 10 ‘%’0。
1 1 87 2 ‘1/x’0。
5 1 98 -1*1034无法输入139 1*1034无法输入1410 A 无法输入1511 1 $ 无法输入 1 1612 3 + -1*1034无法输入 1 3 2013 6 + 1*1034无法输入 1 3 2114 32 / 0 除数不能为零 1 6 1915 12 + A 无法输入 1 3 2216 0 ‘1/x’除数不能为零 1 172 测试2(执行科学计算)测试用例编号输入数据输出覆盖十进制数二进制数八进制数十六进制数转换1 1 二进制0001 1,72 -1*1034无法输入103 101100 十六进制20 2,94 011001 无法输入第一个0 135 14000 无法输入146 1…1(65无法输入15 个)7 45 二进制101101 3,78 024 无法输入第一个0 169 19 无法输入1710 1…1(22)无法输入18位11 56 八进制126 4,812 012 无法输入第一个0 1913 Z17 无法输入2014 1…无法输入211(17)位五实验分析经测试证实了的Windows系统自带的部分计算器功能符合要求。
由于时间有限所以没有进行全部功能的测试。
对于十进制无法用科学计数法方便准确的输入数据,得到的简单结果也不能用科学计数法简单明了的表示,显示数字长度过长,有时不能准确记录。
在计算时若输入其他非数字字符没有任何提示。
经过证实该软件符合标准可以进行使用。
注:扩展实验,可以自己选择一个系统,设计测试用例,然后根据黑盒测试方法对其进行黑盒测试。