计算器黑盒测试实验报告_第1页
计算器黑盒测试实验报告_第2页
计算器黑盒测试实验报告_第3页
计算器黑盒测试实验报告_第4页
计算器黑盒测试实验报告_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南科技大学计算机学院实验报告实 验 名 称 计算器黑盒测试 实 验 地 点 实 验 日 期 指 导 教 师 学 生 班 级 学 生 姓 名 学 生 学 号 提 交 日 期 软件教研室制一、测试目的设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析二、测试内容1.软件说明:实现一个小的计算器程序,只需要完成加、减、乘、除运算 ,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。2、设计测试用例3、执行测试 4、测试结果分析5、源代码三、测试步骤 (一)、计算器界面2、设计测试用例(1)等价类测试:1、4个等价类测试用例的分析过程如下:测试用例加减乘除预期输出整型55+5

2、078-2415*2536/4正常运算小数25.3+12.714.3-11.725.6*12.850.2/20.7正常运算负数-20+-21(-15)-(-14)-12*-12-16/-5正常运算无效输入E1+t2G4-k5I5*l6Ff/se非法操作无法输入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+-21 7.减(-15)-(-14) 8.乘-12*-12 9.除 -16/-5

3、 (其中算式写法错误导致正常运算错误)无效输入1 加(E1+t2):程序中无效数字无法正常输入,程序无法进行。2 减(G4-k5)程序中无效数字无法正常输入,程序无法进行。(同上)3 乘(I5*l6)程序中无效数字无法正常输入,程序无法进行。(同上)4 除(Ff/se)程序中无效数字无法正常输入,程序无法进行。(同上)5(2)边界值法设计测试:加法:1、 计算器4个标准等价类测试用例的分析过程如下:测试用例被加数加数预期输出Test1010正常运算Test2110正常运算Test34010正常运算Test455.510正常运算Test5-7010正常运算Test61010正常运算Test710

4、110正常运算Test8100不能运算Test9101正常运算Test101040正常运算Test111055.5正常运算Test1210-78正常运算Test1310100正常运算Test1410101正常运算2、 对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test2结果:Test3结果:Test4结果:Test5结果:Test6结果:减法:1、 计算器4个标准等价类测试用例的分析过程如下:测试用例被减数减数预期输出Test1010正常运算Test2110正常运算Test34010正常运算Test455.510正常运算Test5-7810正常运算Test61

5、0010正常运算Test710110正常运算Test8100不能运算Test9101正常运算Test101040正常运算Test111055.5正常运算Test1210-78正常运算Test1310100正常运算Test1410101正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test3结果:Test4结果:Test5结果:Test6结果:乘法1、计算器4个标准等价类测试用例的分析过程如下:测试用例被乘数乘数预期输出Test1050正常运算Test215正常运算Test32410正常运算Test455.510正常运算Test5-7810正常运算Tes

6、t610010正常运算Test710110正常运算Test8100不能运算Test9101正常运算Test101040正常运算Test111055.5正常运算Test1210-78正常运算Test1310100正常运算Test1410101正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test3结果:Test4结果:Test5结果:Test6结果:除法1、计算器4个标准等价类测试用例的分析过程如下:测试用例被除数除数预期输出Test1010正常运算Test2110正常运算Test34010正常运算Test455.510正常运算Test5-7810正常运

7、算Test610010正常运算Test710110正常运算Test8100正常运算Test9101正常运算Test101040正常运算Test111055.5正常运算Test1210-78正常运算Test1310100正常运算Test1410101正常运算2、对应测试与结果:对应的部分的示图如下:Test1结果:Test2结果:Test3结果:Test8结果:附录:源代码CCalculateDlg:CCalculateDlg(CWnd* pParent /*=NULL*/): CDialog(CCalculateDlg:IDD, pParent)/AFX_DATA_INIT(CCalculat

8、eDlg)m_parameter = 0.0;/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);CalculatePara = 0;CalculateResult = 0;Ispoint = false;Sumpoint = 0;void CCalculateDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange

9、(pDX);/AFX_DATA_MAP(CCalculateDlg)DDX_Text(pDX, IDC_EDIT, m_parameter);/AFX_DATA_MAPBEGIN_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_para

10、1, 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,

11、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:On

12、InitDialog()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;

13、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

14、_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 controlvoid CCalculateDlg:OnSysCommand(UINT nID, LPARAM lParam)if (nID & 0xFFF0) = IDM_ABOUTBOX)CAboutDlg dlgAbout;dlgAbout.DoModal();

15、elseCDialog: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);

16、/ 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

17、() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog: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_para

18、meter = 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

19、_parameter = CalculateResult;break;case'-':CalculateResult -= CalculatePara;m_parameter = CalculateResult;break;case'*':CalculateResult *= CalculatePara;m_parameter = CalculateResult;break;case'/':if (CalculatePara)CalculateResult /= CalculatePara;m_parameter = CalculateResul

20、t;elsem_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;elseCa

21、lculatePara = m_parameter + 1/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara2() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 2;elseCalculatePara = m_parameter + 2/pow(10,Sumpo

22、int);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara3() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 3;elseCalculatePara = m_parameter + 3/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara

23、;UpdateData(false);/ TODO: Add your control notification handler code herevoid 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 contro

24、l notification handler code herevoid CCalculateDlg:Onpara5() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 5;elseCalculatePara = m_parameter + 5/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalc

25、ulateDlg:Onpara6() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 6;elseCalculatePara = m_parameter + 6/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara7() UpdateData(true);if (!I

26、spoint)CalculatePara = m_parameter*10 + 7;elseCalculatePara = m_parameter + 7/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara8() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 8;

27、elseCalculatePara = m_parameter + 8/pow(10,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara9() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 9;elseCalculatePara = m_parameter + 9/pow(10

28、,Sumpoint);Sumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpara0() UpdateData(true);if (!Ispoint)CalculatePara = m_parameter*10 + 0;elseSumpoint+;m_parameter = CalculatePara;UpdateData(false);/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onpoint() Ispoint = true;Sumpoint = 1;/ TODO: Add your control notification handler code herevoid CCalculateDlg:Onminus() UpdateData(true);m_parameter = 0 - m_parameter;UpdateData(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论