计算器的测试用例全
实验报告 计算器程序

实验报告学生姓名:学号:专业班级:网络工程实验类型:□验证□综合■设计□创新实验日期:10.4.5 实验成绩:实验2:栈和队列一、实验目的深入了解栈和队列的特性,学会在实际问题下灵活运用它们。
二、问题描述表达式求值运算是实现程序设计语言的基本问题之一,也是栈应用的一个典型例子。
设计并演示用算符优先级对算术表达式的求解过程。
三、实验要求1、算法优先级别如下:'+', '-', '*', '/', '(', ')', '#''+' '>', '>', '<', '<', '<', '>', '>','-' '>', '>', '<', '<', '<', '>', '>','*' '>', '>', '>', '>', '<', '>', '>','/' '>', '>', '>', '>', '<', '>', '>','(' '<', '<', '<', '<', '<', '=', ' ',')' '>', '>', '>', '>', ' ', '>', '>','#' '<', '<', '<', '<', '<', ' ', '='2、以字符序列的形式从终端输入语法正确、不含变量的算术表达式,利用给出的算符优先级关系,实现对算术四则混合运算的求解过程。
个税计算器测试用例

内存:8G
有
网络环境:互联网独立的12兆网络 编制人 执行人 功能特性 测试目的 预置条件 参考信息 用例编号 用例说明 输入数据 特殊规程说明 预期结果
任强 任强
编制时间 执行时间
自动检测用户这侧信息的合法性、有理性、安全性等 检测用户注册功能
1
不填写收入金 额,点击开始 计算
弹出提示对话框,提示收入 金额不能为空
能输入不同的起征额
收入金额正确
计算器并未报错,输出结 果为NaN
1
输入类型错 误,输出结 果错误
能正确选择
能正确输出结果
不能输入
所得税-15
税后收入3015
2
②
③
2
点击重置按钮
输入项清空
3
在起征额处输 入不同的金额
0, 100,300,10000
能输入
4
填写正确的输 入金额
10000
收入金额正确
5
输入错误的数 据类型
a,b,c
弹出提示对话框,输入不正 确,请重新输入
6
选择收入类型
能正确选择
7
填写正确的各 项输入,能根 据起征额的不 同输出不同的 结果 在计算结果中 输入数字 收入金额 各项社会保险 费
10000
能输出正确结果
8
不能输入
9
4500 1500
所得税0
税后收入3000
注:黄色部分的测试用例为未通过。
1.0版
钮是 2.40GHz
内存:8G
有网络接口卡 ,硬
2015年4月7日 2015年4月7日
性等
无 测试结果 缺陷编号 备注
此项不能为空
输入项清空
简单计算器—实训报告

Linux应用与编程实习报告学院名称专业班级学生姓名学号指导教师山东科技大学一、实习题目: B2-简单计算器二、实习时间:19周~ 20周实习地点: J13- 128三、实习任务:实现一个简单计算器,计算器包括加、减、乘、除四种运算。
用户通过鼠标进行数据输入,输入的数据以及计算结果显示在文本框中四、小组分工说明:独立完成五、实习成绩六、指导教师对实习的评语:指导教师(签章):2015年月日目录1. 概述 -------------------------------------------------------- 42. 相关技术 -------------------------------------------------- 42.1 QT中信号和槽 -------------------------------------- 42.2 字符串输出数据组 -------- 错误!未定义书签。
3. 需求分析 -------------------------------------------------- 54. 总体设计与详细设计 ----------------------------------- 54.1 系统模块划分 --------------------------------------- 54.2 主要功能模块 --------------------------------------- 55. 编码实现 -------------------------------------------------- 6 6.测试情况说明------------------------------------------- 157. 实训中遇到的主要问题及解决方法 ---------------- 168. 实训收获与体会 ---------------------------------------- 161. 概述1.1 实训项目简介本次实训项目是应用Linux系统中的QT编译器编写一个界面简洁,操作简单的简易计算器。
优秀的测试用例案例

优秀的测试用例案例一、正常登录情况。
1. 测试用例名称:使用正确的用户名和密码登录。
测试步骤:打开登录页面。
在用户名输入框中输入已经注册好的正确用户名,比如说“超级飞侠”。
在密码输入框中输入对应的正确密码,就像给超级飞侠输入它的秘密指令“123456abc”。
点击登录按钮。
预期结果:页面成功跳转到用户的个人主页,能看到类似“欢迎回来,超级飞侠!”这样的欢迎语,并且可以看到个人信息、功能菜单等只有登录后才能看到的东西。
二、边界值情况。
1. 测试用例名称:使用最短允许的用户名和密码登录。
测试步骤:进入登录页面。
输入系统允许的最短用户名,假如是3个字符的“abc”。
输入系统允许的最短密码,比如6个字符的“123456”。
点击登录按钮。
预期结果:成功登录,进入到和正常登录一样的个人主页,显示欢迎语等相关信息。
2. 测试用例名称:使用最长允许的用户名和密码登录。
测试步骤:打开登录界面。
输入最长可接受的用户名,假设是20个字符的“这个用户名超级超级超级长1234567890”。
输入最长可接受的密码,像是30个字符的“这个密码超级超级长abcdefghijklmnopqrstuvwxyz123”。
按下登录按钮。
预期结果:顺利登录,显示个人主页和欢迎信息,没有任何报错提示。
三、异常情况。
1. 测试用例名称:用户名不存在登录。
测试步骤:来到登录页面。
在用户名框里输入一个根本没注册过的名字,例如“不存在的大侠”。
在密码框里随便输入一串字符,像“888888”。
点击登录按钮。
预期结果:页面弹出提示框,上面写着“用户名不存在,请重新输入或者注册”之类的话,并且停留在登录页面,不允许进入个人主页。
2. 测试用例名称:密码错误登录。
测试步骤:打开登录窗口。
输入一个正确注册过的用户名,比如“勇敢小战士”。
但是在密码框里输入错误的密码,像是“错误密码123”。
点击登录按钮。
预期结果:弹出提示框,显示“密码错误,请重新输入”,页面保持在登录界面,不能进入个人主页。
计算器黑盒测试实验报告

西实科技验报算告?实验名称计算器黑盒测试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。
手机MTK测试用例

模块测试项测试点用例级别预置条件计算器界面界面测试1在待机界面,通过菜单,进入计算器界面L1手机插有SIM卡界面测试2通过快捷功能,进入计算器界面L2手机插有SIM卡界面测试3通过指定功能键,进入计算器界面L2手机插有SIM卡界面测试4在计算器界面,按返回键L1手机插有SIM卡界面测试5在计算器界面,按END键L1手机插有SIM卡界面测试6在计算器界面,有触摸笔点击返回L1手机插有SIM卡界面测试7在飞航模式下,通过菜单进入计算器界面L2手机插有SIM卡界面测试8在不插卡的情况下,通过菜单进入计算器界面L2手机不插SIM卡界面测试9在飞航模式下,通过指定功能键,进入计算器界面L2手机插有SIM卡界面测试10在不插卡的情况下,通过指定功能键,进入计算器界面L2手机不插SIM卡功能功能测试1输入两个计算数字后,左键的计算功能L1手机不插SIM卡功能测试2输入数字后,右键的清除功能L1手机不插SIM卡功能测试3MR的输入框内清零功能L1手机插有SIM卡功能测试4累加时,MR的使输入框显示结果的功能L1手机插有SIM卡功能测试5MC的累计结果清零功能L1手机插有SIM卡功能测试6MC的等于功能L1手机插有SIM卡功能测试7两个最大整数计算和功能L2手机插有SIM卡功能测试8最大整数与零相加L2手机插有SIM卡功能测试9最大整数与整数相加L2手机插有SIM卡功能测试10最大整数与小数相加L2手机插有SIM卡功能测试11整数与小数相加L1手机插有SIM卡功能测试12整数与零相加L1手机插有SIM卡功能测试13小数与小数相加L1手机插有SIM卡功能测试14小数与零相加L1手机插有SIM卡功能测试15两个最大整数计算差功能L2手机插有SIM卡功能测试16最大整数与零相减L2手机插有SIM卡功能测试17最大整数与小数相减L2手机插有SIM卡功能测试18整数与小数相减L1手机插有SIM卡功能测试19整数与零相减L1手机插有SIM卡功能测试20零与零相减L1手机插有SIM卡功能测试21小数与小数相减L1手机插有SIM卡功能测试22小数与零相减L1手机插有SIM卡功能测试23零与最大整数相减L2手机插有SIM卡功能测试24小数与最大整数相减L2手机插有SIM卡功能测试25小数与整数相减L1手机插有SIM卡功能测试26零与整数相减L1手机插有SIM卡功能测试27零与小数相减L1手机插有SIM卡功能测试28两个最大整数计算积功能L2手机插有SIM卡功能测试29最大整数与零相乘L2手机插有SIM卡功能测试30最大整数与小数相乘L2手机插有SIM卡功能测试31整数与小数相乘L1手机插有SIM卡功能测试32整数与零相乘L1手机插有SIM卡功能测试33小数与小数相乘L1手机插有SIM卡功能测试34小数与零相乘L1手机插有SIM卡功能测试35两个最大整数计算商功能L2手机插有SIM卡功能测试36最大整数与零相除L2手机插有SIM卡功能测试37最大整数与小数相除L2手机插有SIM卡功能测试38整数与小数相除L1手机插有SIM卡功能测试39整数与零相除L1手机插有SIM卡功能测试40小数与小数相除L1手机插有SIM卡功能测试41小数与零相除L1手机插有SIM卡功能测试42零与最大整数相除L2手机插有SIM卡功能测试43小数与最大整数相除L2手机插有SIM卡功能测试44小数与整数相除L1手机插有SIM卡功能测试45零与整数相除L1手机插有SIM卡功能测试46零与小数相除L1手机插有SIM卡功能测试47M+的累加功能的使用L1手机插有SIM卡功能测试48M-的累减功能的使用L1手机插有SIM卡功能测试49上下键调节加减功能L1手机插有SIM卡功能测试50左右键调节乘除功能L1手机插有SIM卡交叉交叉1在计算器界面,来电,接听L2手机插有SIM卡交叉2在计算器界面,来电,拒接L2手机插有SIM卡交叉3在计算器界面,闹铃响,关闭闹钟L2手机插有SIM卡交叉4在计算器界面,闹铃响,点击睡眠L2手机插有SIM卡交叉5在计算器界面,闹铃响,待铃声响毕L2手机插有SIM卡交叉6在计算器界面,拨插充电器L2手机插有SIM卡交叉7在计算器界面,拨插USB线L2手机插有SIM卡交叉8在计算器界面,备忘录闹铃响,点击确认L2手机插有SIM卡交叉9在计算器界面,备忘录闹铃响,待铃声响毕L2手机插有SIM卡交叉10在计算器界面,低电量提醒L2手机插有SIM卡交叉11在计算器界面,来短消息L2手机插有SIM卡交叉12在计算器界面,接收蓝牙请求L2手机插有SIM卡交叉13在计算器界面,放弃蓝牙请求L2手机插有SIM卡单位换算界面界面测试1在待机界面,通过菜单,进入单位换算界面L1手机插有SIM卡界面测试2通过快捷功能,进入单位换算界面L2手机插有SIM卡界面测试3在单位换算界面,按返回键L1手机插有SIM卡界面测试4在单位换算界面,按END键L2手机插有SIM卡重量界面界面测试1在单位换算界面,进入重量换算界面L1手机插有SIM卡界面测试2在重量换算界面,按返回键L1手机插有SIM卡界面测试3在重量换算界面,按END键L2手机插有SIM卡功能功能测试1公斤转化为磅L1手机插有SIM卡功能测试2磅转化为公斤L1手机插有SIM卡功能测试3公斤转化为盎司L1手机插有SIM卡功能测试4盎司转化为公斤L1手机插有SIM卡功能测试5输入框数字的清除L1手机插有SIM卡功能测试6计算结果与输入框数字的清除L1手机插有SIM卡长度界面手机插有SIM卡界面测试1在单位换算界面,进入长度换算界面L1手机插有SIM卡界面测试2在长度换算界面,按返回键L1手机插有SIM卡界面测试3在长度换算界面,按END键L2手机插有SIM卡功能功能测试1公里转化为英里L1手机插有SIM卡功能测试2英里转化为公里L1手机插有SIM卡功能测试3米转化为码L1手机插有SIM卡功能测试4码转化为米L1手机插有SIM卡功能测试5米转化为英尺L1手机插有SIM卡功能测试6英尺转化为码L1手机插有SIM卡功能测试7厘米转化为英寸L1手机插有SIM卡功能测试8英寸转化为厘米L1手机插有SIM卡功能测试9输入框数字的清除L1手机插有SIM卡功能测试10计算结果与输入框数字的清除L1手机插有SIM卡交叉交叉1在重量/长度转换界面,来电,接听L2手机插有SIM卡交叉2在重量/长度转换界面,来电,拒接L2手机插有SIM卡交叉3在重量/长度转换界面,闹铃响,关闭闹钟L2手机插有SIM卡交叉4在重量/长度转换界面,闹铃响,点击睡眠L2手机插有SIM卡交叉5在重量/长度转换界面,闹铃响,待铃声响毕L2手机插有SIM卡交叉6在重量/长度转换界面,拨插充电器L2手机插有SIM卡交叉7在重量/长度转换界面,拨插USB线L2手机插有SIM卡交叉8在重量/长度转换界面,备忘录闹铃响,点击确认L2手机插有SIM卡交叉9在重量/长度转换界面,备忘录闹铃响,待铃声响毕L2手机插有SIM卡交叉10在重量/长度转换界面,低电量提醒L2手机插有SIM卡交叉11在重量/长度转换界面,来短消息L2手机插有SIM卡交叉12在重量/长度转换界面,接收蓝牙请求L2手机插有SIM卡交叉13在重量/长度转换界面,放弃蓝牙请求L2手机插有SIM卡汇率换算界面界面测试1在待机界面,通过菜单,进入汇率输入界面level 1手机插有SIM卡界面测试2通过快捷功能,进入汇率输入界面level 2手机插有SIM卡界面测试3在汇率输入界面,按返回键level 1手机插有SIM卡界面测试4在汇率输入界面,按END键level 2手机插有SIM卡界面测试5进入货币转化界面level 1手机插有SIM卡界面测试6在货币转化界面,按返回键level 1手机插有SIM卡界面测试7在货币转化界面,按END键level 2手机插有SIM卡界面测试8在货币转化运算完成后,按END键level 2手机插有SIM卡功能功能测试1汇率数值的清除功能level 1手机插有SIM卡功能测试2(汇率:1),本国转化为外国level 1手机插有SIM卡功能测试3(1:汇率),本国转化为外国level 1手机插有SIM卡功能测试4本国数值的清除功能level 1手机插有SIM卡功能测试5将输入框和计算结果清空level 1手机插有SIM卡交叉交叉1在货币转化界面,来电,接听level 2手机插有SIM卡交叉2在货币转化界面,来电,拒接level 2手机插有SIM卡交叉3在货币转化界面,闹铃响,关闭闹钟level 2手机插有SIM卡交叉4在货币转化界面,闹铃响,点击睡眠level 2手机插有SIM卡交叉5在货币转化界面,闹铃响,待铃声响毕level 2手机插有SIM卡交叉6在货币转化界面,拨插充电器level 2手机插有SIM卡交叉7在货币转化界面,拨插USB线level 2手机插有SIM卡交叉8在货币转化界面,备忘录闹铃响,点击确认level 2手机插有SIM卡交叉9在货币转化界面,备忘录闹铃响,待铃声响毕level 2手机插有SIM卡交叉10在货币转化界面,低电量提醒level 2手机插有SIM卡交叉11在货币转化界面,来短消息level 2手机插有SIM卡交叉12在货币转化界面,接收蓝牙请求level 2手机插有SIM卡交叉13在货币转化界面,放弃蓝牙请求level 2手机插有SIM卡健康管理界面界面测试1在待机界面,通过菜单,进入健康管理界面L1手机插有SIM卡界面测试2通过快捷功能,进入健康管理界面L2手机插有SIM卡界面测试3通过指定功能键,进入健康管理界面L2手机插有SIM卡界面测试4在健康管理界面,按返回键L1手机插有SIM卡界面测试5在健康管理界面,按END键L2手机插有SIM卡界面测试6进入身体质量指数界面L1手机插有SIM卡界面测试7在身体质量指数界面,按返回键L1手机插有SIM卡界面测试8在身体质量指数界面,按END键L2手机插有SIM卡界面测试9在指数计算结果界面,按返回键L1手机插有SIM卡界面测试10在指数计算结果界面,按END键L2手机插有SIM卡界面测试11进入女性生理周期界面L1手机插有SIM卡界面测试12在女性生理周期输入界面,按返回键L1手机插有SIM卡界面测试13在女性生理周期输入界面,按END键L2手机插有SIM卡界面测试14在女性生理周期判定界面,按返回键L1手机插有SIM卡界面测试15在女性生理周期判定界面,按END键L2手机插有SIM卡界面测试16在受孕结果界面,按确定键L1手机插有SIM卡界面测试17在受孕结果界面,按END键L2手机插有SIM卡身体质量指数功能功能测试1选择男性,输入不符合要求的身高L2手机插有SIM卡功能测试2选择男性,输入不符合要求的体重L2手机插有SIM卡功能测试3选择男性,输入不符合要求的身高和体重L2手机插有SIM卡功能测试4选择女性,输入不符合要求的身高L2手机插有SIM卡功能测试5选择女性,输入不符合要求的身高L2手机插有SIM卡功能测试6选择女性,输入不符合要求的身高L2手机插有SIM卡功能测试7选择男性,输入符合要求的身体与体重(判断结果为胖)L1手机插有SIM卡功能测试8选择男性,输入符合要求的身体与体重(判断结果为瘦)L1手机插有SIM卡功能测试9选择男性,输入符合要求的身体与体重(判断结果为正常)L1手机插有SIM卡功能测试10选择女性,输入符合要求的身体与体重(判断结果为胖)L1手机插有SIM卡功能测试11选择女性,输入符合要求的身体与体重(判断结果为瘦)L1手机插有SIM卡功能测试12选择女性,输入符合要求的身体与体重(判断结果为正常)L1手机插有SIM卡女性生理周期功能功能测试1输入错误的上次生理周期日期(日期大于当前日期)L2手机插有SIM卡功能测试2输入错误的上次生理周期日期(日期前于当前日期100天)L2手机插有SIM卡功能测试3输入错误的平均周期(小于14)L2手机插有SIM卡功能测试4输入错误的平均周期(大于99)L2手机插有SIM卡功能测试5正确输入,进入结果判定界面L1手机插有SIM卡功能测试6在结果判定界面,将光标超出范围L2手机插有SIM卡功能测试7受孕结果判定L1手机插有SIM卡交叉交叉1在身体质量指数界面/女性生理周期输入界面,来电,接听L2手机插有SIM卡交叉2在身体质量指数界面/女性生理周期输入界面,来电,拒接L2手机插有SIM卡交叉3在身体质量指数界面/女性生理周期输入界面,闹铃响,关闭闹钟L2手机插有SIM卡交叉4在身体质量指数界面/女性生理周期输入界面,闹铃响,点击睡眠L2手机插有SIM卡交叉5在身体质量指数界面/女性生理周期输入界面,闹铃响,待铃声响毕L2手机插有SIM卡交叉6在身体质量指数界面/女性生理周期输入界面,拨插充电器L2手机插有SIM卡交叉7在身体质量指数界面/女性生理周期输入界面,拨插USB线L2手机插有SIM卡交叉8在身体质量指数界面/女性生理周期输入界面,备忘录闹铃响,点击确认L2手机插有SIM卡交叉9在身体质量指数界面/女性生理周期输入界面,备忘录闹铃响,待铃声响毕L2手机插有SIM卡交叉10在身体质量指数界面/女性生理周期输入界面,低电量提醒L2手机插有SIM卡交叉11在身体质量指数界面/女性生理周期输入界面,来短消息L2手机插有SIM卡交叉12在身体质量指数界面/女性生理周期输入界面,接收蓝牙请求L2手机插有SIM卡交叉13在身体质量指数界面/女性生理周期输入界面,放弃蓝牙请求L2手机插有SIM卡测试步骤预期输出测试结果1、在待机界面,菜单-附加功能-计算器,观察界面显示情况。
简易计算器实验报告

简易计算器实验报告一、实验目的本次实验的目的是设计并实现一个简易计算器,能够进行基本的四则运算(加、减、乘、除),以及处理括号的优先级运算,提高对程序设计和逻辑思维的理解与应用能力。
二、实验原理1、四则运算的优先级规则在数学运算中,先计算括号内的表达式,然后按照先乘除后加减的顺序进行计算。
乘除法的优先级高于加减法,如果在同一级运算中,按照从左到右的顺序进行。
2、数据结构的选择使用栈(Stack)数据结构来存储操作数和运算符。
栈具有先进后出的特点,非常适合处理表达式中的括号和优先级。
3、算法思路首先,将输入的表达式进行解析,将数字和运算符分别存储到不同的栈中。
然后,根据运算符的优先级进行计算,将计算结果重新压入栈中,直到表达式计算完毕。
三、实验设备及环境1、编程工具:选择了 Python 语言作为主要的编程工具,使用PyCharm 集成开发环境进行代码编写和调试。
2、操作系统:Windows 10 操作系统。
四、实验步骤1、定义数据结构定义两个栈,一个用于存储操作数(operandStack),一个用于存储运算符(operatorStack)。
2、表达式解析遍历输入的表达式字符串,将数字转换为整数并压入操作数栈,将运算符压入运算符栈。
遇到左括号直接压入运算符栈,遇到右括号则进行括号内的运算。
3、运算处理当运算符栈不为空时,取出栈顶的运算符和两个操作数进行计算。
根据运算符的优先级进行相应的运算,将结果压入操作数栈。
4、最终结果当表达式解析完毕后,操作数栈中的唯一元素即为表达式的计算结果。
五、代码实现```pythonclass SimpleCalculator:def __init__(self):selfoperandStack =selfoperatorStack =def calculate(self, expression):for char in expression:if charisdigit():selfoperandStackappend(int(char))elif char in '+/()':if char =='(':selfoperatorStackappend(char)elif char ==')':while selfoperatorStack-1!='(':operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackpop()else:while selfoperatorStack and selfhasHigherPrecedence(selfoperatorStack-1, char):operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)selfoperatorStackappend(char)while selfoperatorStack:operator = selfoperatorStackpop()operand2 = selfoperandStackpop()operand1 = selfoperandStackpop()result = selfperformOperation(operand1, operand2, operator)selfoperandStackappend(result)return selfoperandStackpop()def hasHigherPrecedence(self, op1, op2):if op1 in '/' and op2 in '+':return Trueelif op1 in '+' and op2 in '+':return Falseelif op1 in '/' and op2 in '/':return Falsereturn Falsedef performOperation(self, operand1, operand2, operator):if operator =='+':return operand1 + operand2elif operator =='':return operand1 operand2elif operator =='':return operand1 operand2elif operator =='/':if operand2 == 0:raise ValueError("除数不能为 0")return operand1 / operand2if __name__ =="__main__":calculator = SimpleCalculator()expression ="2 + 3 (4 1) / 2"result = calculatorcalculate(expression)print("计算结果:", result)```六、实验结果与分析1、测试用例及结果输入表达式:"2 + 3 4",计算结果:14输入表达式:"(2 + 3) 4",计算结果:20输入表达式:"5 2 3",计算结果:-1输入表达式:"10 / 2 + 1",计算结果:62、结果分析对于简单的四则运算表达式,计算器能够正确计算出结果。
windows自带计算器黑盒测试文档

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)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
点击*按钮
2.2
点击=按钮
2.64
2.64
正常
8
算法功能键
连续多次点击”+” ”-” ”%”观察结果是否有改变
累加或者累成到科学计数法之后认为是非法字符
累加或者累成到科学计数法之后认为是非法字符
正常
8
测试“/”功能
除数为0
1
点击/按钮
0
点击=按钮
提示”以零作除数”
提示”以零作除数”
正常
9
除数空数值
1:基于功能性测试:
简易计算测试
编号
测试目的
测试方向
依次输入操作
连续四次输入,无值为无操作
预期结果
返回结果
备注
1
测试“+”、”-”、”*”功能
按钮的正常使用
1
点击+按钮
2
点击=按钮
3
3
正确
2
运算器的作用范围
1E+2
点击-按钮
异常报错
弹出”数据非法”字符框
正常反馈:科学技术法不识别
3
非数字报错
非数字(、)
点击任意键
异常报错
异常报错
正常
4
数字类型
1-1
点击+按钮
1
点击=按钮
异常报错
2
错误提交:数据内部不可以添加算法接受非数字前的数据,应作错误处理
5
空数值操作
-
点击任意按钮
提示用户输入
0
异常反馈:提示用户输入
6
单个操作数
4
点击+按钮
点击=按钮
提示用户输入
8
错误反馈:当用户点击运算按钮清空文本内容
7
小数运算
1
点击/按钮
点击=按钮
提示用户输入
提示”以零作除数”
异常反馈:提示用户输入
10
被除数为0
点击/按钮
8
点击=按钮
0
0
正常
编号
测试目的
测试方向
依次输入操作
连续四次输入,无值为无操作
预期结果
返回结果
备注
11
测试“/”功能
除数按钮为0点击后点击其他功能运算键
点击/
点击*等
提示用户操作有误
提示”以零作除数”
异常反馈;修改此处函数
11
测试无用数据操作
未点击=按钮直接接下来运算(有前值)
3
点击+
等待输入
6
系统有垃圾值3未取消
格2
点击运算符
提示输入有误
弹出”数据非法”字符框
正常
13
测试“Tan”功能
正常功能
1
点击“Tan”按钮
1.74550649282176E-02
1.74550649282176E-02
1
1
正常。可提示用户无值情况下默认文本框为0
每个功能按钮测试完成再进行组合测试
253!正常
254!不正常
正常
14
负数的结果
-1
点击”Tan”按钮
-1.74550649282176E-02
15
测试“Cos”功能
正常功能
0
点击”Cos”按钮
1
1
正常
16
无值操作
点击”Cos”按钮
1
1
正常。可提示用户无值情况下默认文本框为0
17
测试“Sin”功能
正常功能
0
点击”Cos”按钮
1
1
正常
18
无值操作
点击”Cos”按钮