计算器的测试用例全
实验报告 计算器程序
实验报告学生姓名:学号:专业班级:网络工程实验类型:□验证□综合■设计□创新实验日期: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)功能测试:对测试对象的功能测试。
该测试目标是核实数据的接受,处理和检索是否正确。
此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。
Python实现简单的四则运算计算器
Python实现简单的四则运算计算器⼀、算法1、算法的主要思想就是将⼀个中缀表达式(Infix expression)转换成便于处理的后缀表达式(Postfix expression),然后借助于栈这个简单的数据结构,计算出表达式的结果。
2、关于如何讲普通的表达式转换成后缀表达式,以及如何处理后缀表达式并计算出结果的具体算法描述不在此叙述了,书上有详细的说明。
⼆、简易计算器使⽤说明使⽤该计算器类的简单⽰例如下:# usagec = Calculator()print('result: {:f}'.formart(c.get_result('1.11+2.22-3.33*4.44/5.55')))# output:result: 0.666000测试案例为了对这个计算器进⾏有效地检验,设计了⼏组测试案例,测试结果如下:Test No.1: (1.11) = 1.110000Test No.2: 1.11+2.22-3.33*4.44/5.55 = 0.666000Test No.3: 1.11+(2.22-3.33)*4.44/5.55 = 0.222000Test No.4: 1.11+(2.22-3.33)*(4.44+5.55)/6.66 = -0.555000Test No.5: 1.11*((2.22-3.33)*(4.44+5.55))/(6.66+7.77) = -0.852992Test No.6: (1.11+2.22)*(3.33+4.44)/5.55*6.66 = 31.048920Test No.7: (1.11-2.22)/(3.33+4.44)/5.55*(6.66+7.77)/(8.88) = -0.041828Test No.8: Error: (1.11+2.22)*(3.33+4.44: missing ")", please check your expressionTest No.9: Error: (1.11+2.22)*3.33/0+(34-45): divisor cannot be zeroTest No.10: Error: 12+89^7: invalid character: ^实现代码栈的实现栈实际上就是⼀个被限制操作的表,所有的操作只能在栈的顶端(⼊栈、出栈等),以下是使⽤Python代码实现的简单的栈:class Stack(object):"""The structure of a Stack.The user don't have to know the definition."""def __init__(self):self.__container = list()def __is_empty(self):"""Test if the stack is empty or not:return: True or False"""return len(self.__container) == 0def push(self, element):"""Add a new element to the stack:param element: the element you want to add:return: None"""self.__container.append(element)def top(self):"""Get the top element of the stack:return: top element"""if self.__is_empty():return Nonereturn self.__container[-1]def pop(self):"""Remove the top element of the stack:return: None or the top element of the stack"""return None if self.__is_empty() else self.__container.pop()def clear(self):"""We'll make an empty stack:return: self"""self.__container.clear()return self计算器类的实现在计算器类中,我们将表达式的合法性验证单独放在⼀个函数中完成,但是实际上如果需要,也可以直接放在中缀表达式转后缀表达式的函数中实现,这样只需要⼀次遍历表达式即可同时完成验证和转换⼯作。
计算器功能测试
实验三计算器功能测试预习报告(一)实验目的1.理解并掌握WinRunner的测试流程;2.掌握掌握数据驱动测试脚本编写方法;(二)实验内容1.识别windows计算器GUI对象;2.编写数据驱动测试脚本,分别测试windows计算器的加、减、乘、除运算。
(三)实验要求1.分别为windows计算器的加、减、乘、除运算设计测试用例,填写用例设计表;2.编写数据驱动测试脚本,使用Debug模式对脚本除错;实验报告(一)实验步骤一.加法代码:GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");set_window ("‹¡ {— Vh ");table = "‹¡ {— Vh .xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN){pause("Cannot open table.");}ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");add1=length(additive1);while(add1>0)if(substr(additive1,add1,1)==" ")add1--;else break;i=1;while(i<add1)if(substr(additive1,i,1)==" ")i++;else break;additive11=substr(additive1,i,add1);for(i=1;i<=length(additive11);i++)button_press (substr(additive11,i,1));button_press ("+");if(additive2==""){additive2=additive11;}else{add2=length(additive2);while(add2>0)if(substr(additive2,add2,1)==" ")add2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;additive22=substr(additive2,i,add2);for(i=1;i<=length(additive22);i++)button_press (substr(additive22,i,1));}button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".") len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);if(int(additive1+additive2)==int(result))tl_step("testcase"&table_Row,0,additive1&"+"&additive2&"="&(additive1+additive2)&"is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"+"&additive2&"="&(additive1+additive2)&"is not equal with result"&result&",incorrect.");}ddt_close(table);结果:二.减法代码:GUI_load("D:\\Program Files\\Mercury Interactive1\\WinRunner\\dat\\calc.gui");set_window ("‹¡ {— Vh ");table = "QÏ .xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");add1=length(additive1);while(add1>0)if(substr(additive1,add1,1)==" ")add1--;else break;i=1;while(i<add1)if(substr(additive1,i,1)==" ")i++;else break;additive11=substr(additive1,i,add1);if(substr(additive11,1,1)=="-")for(i=2;i<=length(additive11);i++)button_press (substr(additive11,i,1));button_press("+/-");}elsefor(i=1;i<=length(additive11);i++)button_press(substr(additive11,i,1));button_press("-");if(additive2==""){additive2=additive11;}add2=length(additive2);while(add2>0)if(substr(additive2,add2,1)==" ")add2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;additive22=substr(additive2,i,add2);if(substr(additive22,1,1)=="-"){for(i=2;i<=length(additive22);i++)button_press (substr(additive22,i,1));button_press("+/-");}elsefor(i=1;i<=length(additive22);i++)button_press(substr(additive22,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);add=additive1-additive2;len=length(add);while(len>0)if(substr(add,len,1)==" "||substr(add,len,1)==".")len--;else break;i=1;while(i<len)if(substr(add,i,1)==" ")i++;else break;add=substr(add,i,len);if(add==result)tl_step("testcase"&table_Row,0,additive1&"-"&additive2&"="&(additive1-additive2)&" is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"-"&additive2&"="&(additive1-additive2)&" is not equal with result"&result&",incorrect.");}ddt_close(table);结果:三.乘法代码:GUI_load("D:\\ProgramFiles\\Mercury\\Interactive1\\WinRunner\\dat\\ca lc.gui");set_window ("计算器");table = "date7.xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");additi1=length(additive1);while(additi1>0)if(substr(additive1,additi1,1)==" ")additi1--;else break;i=1;while(i<additi1)if(substr(additive1,i,1)==" ")i++;else break;t_additive1=substr(additive1,i,additi1);if(substr(t_additive1,1,1)=="-"){for(i=2;i<=length(t_additive1);i++)button_press (substr(t_additive1,i,1));button_press("+/-");}elsefor(i=1;i<=length(t_additive1);i++)button_press(substr(t_additive1,i,1));button_press("*");if(additive2==""){additive2=t_additive1;}additi2=length(additive2);while(additi2>0)if(substr(additive2,additi2,1)==" ")additi2--;else break;i=1;while(i<len)if(substr(additive2,i,1)==" ")i++;else break;t_additive2=substr(additive2,i,additi2);if(substr(t_additive2,1,1)=="-"){for(i=2;i<=length(t_additive2);i++)button_press (substr(t_additive2,i,1));button_press("+/-");}elsefor(i=1;i<=length(t_additive2);i++)button_press(substr(t_additive2,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;else break;i=1;while(i<len)if(substr(result,i,1)==" ")i++;else break;result=substr(result,i,len);add=additive1*additive2;len=length(add);while(len>0)if(substr(add,len,1)==" "||substr(add,len,1)==".")len--;else break;i=1;while(i<len)if(substr(add,i,1)==" ")i++;else break;add=substr(add,i,len);if(add==result)tl_step("testcase"&table_Row,0,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is equal with result"&result&",correct.");elsetl_step("testcase"&table_Row,1,additive1&"*"&additive2&"="&(addit ive1*additive2)&" is not equal with result"&result&",incorrect.");}ddt_close(table);结果:四.除法代码:GUI_load("C:\\Program Files\\Mercury Interactive\\WinRunner\\dat\\calc.gui"); set_window("计算器");table = "default.xls";rc = ddt_open(table, DDT_MODE_READ);if (rc!= E_OK && rc != E_FILE_OPEN)pause("Cannot open table.");ddt_get_row_count(table,table_RowCount);for(table_Row = 1; table_Row <= table_RowCount; table_Row ++){ddt_set_row(table,table_Row);button_press ("C");additive1=ddt_val(table,"additive1");additive2=ddt_val(table,"additive2");if(length(additive1)==0)additive1=0;elselen1=length(additive1);while(len1>0)if(substr(additive1,len1,1)==" ")len1--;elsebreak;j=1;while(j<len1)if(substr(additive1,j,1)==" ")j++;elsebreak;additive3=substr(additive1,j,len1);additive1=substr(additive1,j,len1);#if(length(additive2)==0)#additive2=additive3;#elselen2=length(additive2);while(len2>0)if(substr(additive2,len2,1)==" ")len2--;elsebreak;i=1;while(i<len2)if(substr(additive2,i,1)==" ")i++;elsebreak;additive2=substr(additive2,i,len2);additive4=substr(additive2,i,len2);if(length(additive2)==0){additive2=additive3;additive4=additive3;}for(j=1;j<=length(additive1);j++)button_press (substr(additive1,j,1));button_press ("/");if(substr(additive2,1,1)=="-"){additive2=substr(additive2,2,len2); for(i=1;i<=length(additive2);i++) button_press (substr(additive2,i,1));button_press ("+/-");}elsefor(i=1;i<=length(additive2);i++)button_press (substr(additive2,i,1));button_press ("=");edit_get_text("Edit",result);len=length(result);while(len>0)if(substr(result,len,1)==" "||substr(result,len,1)==".")len--;elsebreak;i=1;while(i<len)if(substr(result,i,1)==" ")i++;elsebreak;result=substr(result,i,len);if(additive4==0)tl_step("testcase"&table_Row,0,"the result is eror 输入错误 correct");else{if((additive3/additive4)==result)tl_step("testcase"&table_Row,0,"the result is"&(additive3/additive4)&"and"&(result)&",correct");elsetl_step("testcase"&table_Row,1,"the result is"&(additive3/additive4)&"and"&(result)&",incorrect");}}ddt_close(table);结果:(二)实验体会通过此实验让我们理解并掌握WinRunner的测试流程;掌握掌握数据驱动测试脚本编写方法;我们更加认识windows计算器GUI对象;深入了解测试用例的划分,分别为windows 计算器的加、减、乘、除运算设计测试用例。
win7计算器软件测试
软件测试报告班级:计科142姓名:***学号:************系别:信息技术系专业:计算机科学与技术指导老师:***目录1.前言 (2)1.1测试目的 (2)1.2测试背景 (2)2.测试计划 (2)2.1测试计划名称 (2)2.2项目背景和内容概要 (2)2.3相关资料、缩略语、定义 (2)2.4参考资料: (3)2.5测试过程 (3)2.6测试目标 (3)2.7测试分工 (3)2.8测试步骤及方法 (3)2.9测试通过标准 (3)2.10修正错误并重新测试的步骤与要求 (3)2.11进度计划 (3)2.12测试小结 (4)2.13测试用例的简单描述 (4)2.14需求跟踪 (4)3.性能测试用 (4)3.1测试用例的目的 (4)3.2测试用例的输入 (4)3.3期待的输出 (5)3.4测试方法 (6)3.5实际的输出 (6)4.设计测试环境 (8)4.1软件: (8)4.2硬件: (8)4.3网络环境: (8)4.4测试工具: (8)5.测试软件 (9)5.1软件名称 (9)5.2获取方式 (9)5.3功能模块 (10)6.功能测试计划 (12)6.1测试目标 (12)6.2测试模块 (12)6.3等价类划分及测试用例 (12)7.测试实施 (14)7.1测试时间 (14)7.2测试过程及结果 (14)8.测试分析及缺陷描述 (15)8.1测试分析 (15)8.2缺陷描述 (15)9.实验总结 (16)1.前言1.1测试目的根据Windows 7计算器的帮助文档,制定对Windows 7计算器的测试用例,用来测试计算器功能。
包括:输入输出、计算换算、日期计算等。
根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。
1.2测试背景1)测试计划所从属的软件系统:Windows 7;2) 在开始执行本测试计划之前必须完成的工作:需要阅读计算器的帮助文档。
2.测试计划2.1测试计划名称Windows 7计算器的测试2.2项目背景和内容概要该项目是自己找的,委托单位是老师,开发单位主管单位都是window公司的员工。
编写测试用例(详细)
学习别人优秀成果的基础上,编写自己的用例。
实例:纸杯的测试用例设计
用户需求:一个带广 告图案的花纸杯
杯子特性
杯子的容量: 能装多少升水,空杯,半 杯,满杯
杯子的型状: 圆型,上面口大,下面小。 杯子的材料: 纸杯 杯子的抗摔能力: 风吹是否会倒,摔一
输入正确的帐号和密码(均为6至8 进入系统
位之间),点击[登录]按钮
帐号为空,点击[登录]按钮
提示输入帐号
帐号为空格,点击[登录]按钮
提示无效帐号
帐号小于6位,点击[登录]按钮 提示无效帐号
测试用例设计原则
1. 测试用例对需求覆盖的完整性; 2. 测试用例的有效性; 3. 测试用例的可理解性; 4. 测试用例的清晰性; 5. 测试用例的可维护性。
需求的覆盖完整性
做到对需求的完全理解, 从全局上把握需求
对需求进行归类,包括正常流,异常流等,做 到对需求的100%覆盖。(其中有一个好的方法 就是用mm图把需求分解了)
把基本路径分解出来,将需求归类。理顺了需 求,用例写起来就顺手多了。
需求的覆盖完整性
测试用例的有效性
测试用例应该包含清晰的输入数据以及 预期输出
丼例?登彔功能说出一些简单的测试用例丼例?简单用例?一般的用例用例编号功能点操作过程预期结果01登录能够正确处理用户登录正确处理登录操作用例编号功能点操作过程预期结果01登录能够正确处理用户登录正确处理登录操作用例编号功能点操作过程预期结果01登录输入正确的帐号和密码登录成功输入错误的帐号和密码登录失败用例编号功能点操作过程预期结果01登录输入正确的帐号和密码登录成功输入错误的帐号和密码登录失败丼例?比较详细的用例用例编号功能点操作过程预期结果01登彔输入正确的帐号和密码均为6位点击登彔按钮进入系统输入正确的帐号和密码均为10位点击登彔按钮进入系统输入正确的帐号和密码均为6至8位乀间点击登彔按钮进入系统帐号为空点击登彔按钮提示输入帐号帐号为空格点击登彔按钮提示无效帐号帐号小于6位点击登彔按钮提示无效帐号用例编号功能点操作过程预期结果01登彔输入正确的帐号和密码均为6位点击登彔按钮进入系统输入正确的帐号和密码均为10位点击登彔按钮进入系统输入正确的帐号和密码均为6至8位乀间点击登彔按钮进入系统帐号为空点击登彔按钮提示输入帐号帐号为空格点击登彔按钮提示无效帐号帐号小于6位点击登彔按钮提示无效帐号测试用例设计原则1
Java计算器实验报告(包括普通型和科学型)
一、计算器实验报告一、实验名称及其要求:A)名称: java计算器的设计B)要求:1.实验目的:图形界面设计。
熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。
2.题意:请设计并实现Windows系统中“计算器”的窗口及功能。
3.实验要求:(1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。
(2)运算:实现多种运算,保证运算正确性。
二、实验步骤先新建两个类,一个类是普通型计算器的Count1,另一个类是科学性计算器的Count2一)、普通型计算器1、先利用Java各种图形组件完成计算的整体界面,在界面中添加按钮以及菜单项,如图①先定义各按钮以及菜单、菜单项JPanel p2= new JPanel();JTextField jt2 = new JTextFiled();JMenuBar jmb = new JMenuBar () ;JMenu check = new JMenu ("查看(V)") ;JMenu edit = new JMenu ("编辑(E)") ;JMenu help = new JMenu ("帮助(H)") ;JMenuItem help_about = new JMenuItem("关于") ;JMenuItem help_help = new JMenuItem("操作说明") ;JMenuItem exit = new JMenuItem("退出") ;JRadioButton rb2 = new JRadioButton("标准型",true) ;JRadioButton rb1 = new JRadioButton("科学型") ;ButtonGroup bg = new ButtonGroup() ;按钮的定义形式如下:JButton b = new JButton(”i”),i表示各按钮上的字符将各按钮添加到面板p2中至于添加按钮进面板的由于比较简单,这里就不做说明了。
计算器的测试用例全
正常
14
-0转换
-0
-0
0
正常:-0可以省略
精度算法功能测试:
编号
测试目的
测试方向
输入数据
预期结果
返回结果
备注
第一个
第二个
1
高精度加法基本功能
算法内部字符串
67-88
33
提示错误
67121
错误反馈:对于文本框内-字符无法识别
2
边界值分析
0值的考虑
0
1
1
1
正常
运行环境
1:基于功能性测试:
简易计算测试
编号
测试目的
测试方向
依次输入操作
连续四次输入,无值为无操作
预期结果
返回结果
备注
1
测试“+”、”-”、”*”功能
按钮的正常使用
1
点击+按钮
2
点击=按钮
3
3
正确
2
运算器的作用范围
1E+2
点击-按钮
异常报错
弹出”数据非法”字符框
正常反馈:科学技术法不识别
3
非数字报错
正常
14
负数的结果
-1
点击”Tan”按钮
-1.74550649282176E-02
15
测试“Cos”功能
正常功能
0
点击”Cos”按钮
1
1
正常
16
无值操作
点击”Cos”按钮
1
1
正常。可提示用户无值情况下默认文本框为0
17
测试“Sin”功能
正常功能
0
hpc测试用例
hpc测试用例1. 并行计算测试- 输入:一个需要进行并行计算的任务- 预期结果:任务在指定数量的计算节点上并行执行,完成时间较串行计算缩短,结果正确2. 负载均衡测试- 输入:多个计算节点和多个计算任务- 预期结果:计算任务在计算节点之间均衡分配,每个计算节点的负载接近平衡,任务能够顺利完成3. 高性能存储测试- 输入:大量的数据读取或写入操作- 预期结果:数据的读写速度较传统存储系统提高,操作完成的时间较短4. 异常处理测试- 输入:在计算过程中出现异常情况(例如计算节点故障、网络中断等)- 预期结果:系统能够检测到异常情况并进行相应的处理,例如自动切换到备用节点继续计算,保证任务的完成性和正确性5. 大规模并行计算测试- 输入:大规模计算任务,需要大量的计算节点协同工作- 预期结果:系统能够有效地管理大量的计算节点,任务能够在合理的时间内完成,并且结果正确6. 网络通信测试- 输入:大量的网络通信操作,例如节点之间的数据传输、消息传递等- 预期结果:网络通信的速度较传统网络系统提高,传输和通信操作的时间较短7. 性能监控测试- 输入:系统运行中的任务和计算节点- 预期结果:系统能够实时监控和记录各个计算节点的运行状态和性能指标,例如CPU利用率、内存使用情况等,便于性能调优和故障排查8. 可扩展性测试- 输入:逐步增加计算节点数量和任务数量- 预期结果:系统能够按需扩展计算节点,能够处理更多的任务,且在扩展过程中性能不会明显下降9. 软件兼容性测试- 输入:不同的HPC软件、库和工具- 预期结果:系统能够与不同的HPC软件和工具进行兼容,能够正确地使用和集成这些软件10. 安全性测试- 输入:恶意攻击、数据泄露等安全问题- 预期结果:系统能够保护用户数据的安全,防止恶意攻击和未经授权的访问。
计算器软件测试报告
希望对大家有所帮助.名谢您的浏览!江西工业职业技术学院毕业综合实践课题名称: 安卓手机计算器作者:廖杰学号:20112715分院:电子与信息工程分院______________ 专业:计算机网络技术 ________________ 指导老师:占华为专业技术职务讲师2013年11月14日一、问题描述:用Java实现求两整数的加、减、乘、除运算结果,要求两整数的范圉都是[0,100]。
从键盘输入数m,数n,判断他们的范围,若不在[0, 100]范围内,则输出提示语,要求重新输入,并且在做除法运算时,当除数为0时,输出提示语, 说明除数不能为0。
将两数的范围定在[0, 100],以更好的进行边界值分析,等价类测试等黑盒测试方法;为充分体现口盒测试的特点,有些地方故意用了辻-else语句,wh订e 循环;另外,力口、减、乘、除运算分别用了四个函数来计算,这样既可以在主函数中调用,乂可以在Junit 框架中分别对这四种运算进行测试。
二.程序源代码:1. 2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23. import java .util.Scanner;public class Computer {private int a;private int b;public Computer (int x, int y) / '构造函数,初始化b=y;}public double add()//注意:Juint中需要输入测试值在0~100范用内〃加法return a+b;}public double minus(){return a-b;}public double multiplyOreturn a*b;}public double divide()〃减法//乘法//除法,要求除数不能为0,否则输岀提示语if(b!=0) return a/b ; elseSystem, out. printin (“除数不能为0! ”); return 0;public static void main(StringEl args) Scanner scanner = null ;scanner = new Scanner(System. in);System, out. print In (“ 请输入 O'lOO 的两个 m, n 整数:");System, out. println("请输入第一个数:”);while (true) { //若输入值不任要求范I 付内,则有循环直到输入匸确为止 int m= scanner ・nextint 0 ;if (m>=0&&m<=100)System, out. print In in 输入第二个数:"); while(true){int n = scanner ・nextlnt();if(n>=0&&n<=100)Computer cpt=new Computer(m, n); System, out. printing 运算结果是:");System. out ・ println("力2去:"+m+"+"+n+"二"+cpt ・ add0); System. out. printin ("减》去:一"+n+"二"+cpt ・ minus 0);Syste m ・ out ・ print In ("乘扌去:“*"+n+"二"+cpt ・ multiplyO ; System ・ our ・ printin ("除[去:"+m+"/"+n+"二"+cpt ・ divideO); } elseSystem, out. print ("输入n 值不在要求区间,请重新输入n : \n"); } } elseSystem, out. print ("输入m 值不在要求区间,请重新输入m : \n"); } }1、边界值测试:1.K 边界值分析:输入要求是o'loo 之间的整数,因此产生了 o 和loo 两个边界,边界值分析 可产生 4*2+1 二9 个测试用例。
计算器场景法案例
计算器场景法案例一、场景:家庭购物算账。
假设你和家人去超市购物,买了一堆东西。
1. 商品价格计算。
你买了3袋薯片,每袋薯片价格是5元。
你可以拿出计算器,输入“3×5 =”,计算器显示“15”,这样你就知道薯片总共花费15元。
又买了2瓶饮料,一瓶饮料4元。
接着在计算器上按“+ 2×4 =”,计算器会显示“23”,这就是薯片和饮料的总花费了。
这时候,你看到了一些苹果,价格标签上写着每千克8元,你称了1.5千克。
于是你在计算器上输入“+ 8×1.5 =”,计算器显示“35”,这就是到目前为止所有商品的花费。
2. 折扣计算。
突然,你发现超市今天有满50减10的活动。
你已经花费了35元,你想知道如果再买一些东西凑够50元能省多少钱。
你在计算器上输入“50 35 =”,得到“15”,这就是你还需要购买的金额。
然后你想象再买15元的东西后,实际花费就是50 10 = 40元。
你可以在计算器上验证,输入“35+15 10 =”,计算器显示“40”,这样你就清楚这个折扣活动下的最终花费了。
3. 人均花费计算(如果和家人一起分担费用)假如你和你的爸爸妈妈三个人一起购物,总共花费了40元。
你想知道每个人平均要出多少钱。
你在计算器上输入“40÷3 =”,计算器显示“13.333...”,你就可以告诉家人每人大概要出13.33元。
二、场景:装修预算计算。
1. 材料费用计算。
你要装修房子,先计算地板的费用。
客厅的地板面积是30平方米,你选中的地板每平方米200元。
你打开计算器,输入“30×200 =”,计算器显示“6000”,这就是客厅地板的花费。
卧室的地板面积是15平方米,这种卧室地板每平方米180元。
在计算器上按“+ 15×180 =”,计算器显示“8700”,这是客厅和卧室地板的总费用。
接着算墙面涂料的费用。
墙面总面积是120平方米,涂料每桶可以刷20平方米,一桶涂料300元。
单元测试用例模板和例子
单元测试用例模板和例子
单元测试用例模板和例子可能因不同的编程语言和框架而异,但通常应包括以下内容:
单元测试用例模板:
1. 用例名称:简短、描述性的名称,用于标识测试用例。
2. 测试目标:说明测试用例的目标,即要验证的功能或行为。
3. 前提条件:列出测试执行前必须满足的条件,例如数据初始化、环境设置等。
4. 测试步骤:详细描述测试执行过程,包括输入数据、操作顺序等。
5. 预期结果:列出测试执行后应获得的结果,以便与实际结果进行比较。
6. 实际结果:记录测试执行后的实际结果,以便与预期结果进行比较。
7. 结论:根据实际结果与预期结果的比较,判断测试是否通过或失败。
下面是一个简单的单元测试用例例子,用于测试一个计算器类的加法功能:
1. 用例名称:Calculator类加法功能的测试
2. 测试目标:验证Calculator类加法功能的正确性。
3. 前提条件:已经创建了一个Calculator类的实例。
4. 测试步骤:
a. 调用Calculator类的add方法,传入两个数字作为参数。
b. 记录返回值。
5. 预期结果:返回值应为两个数字的和。
6. 实际结果:返回值是两个数字的和。
7. 结论:测试通过。
当然,实际的单元测试用例可能会更加复杂和详细,具体取决于要测试的功能和代码结构。
- 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”按钮