计算器测试用例

合集下载

计算器测试用例

计算器测试用例

⑴测试用例说明名称计算器四则运算的测试用例(2)测试项计算器能够实现数字与数字之间的加(+)、减(・)、乘(*)、除(/), 通过计算器的运行,方便实现较大数据在短时间内的处理,为用户大大的减少了运算时间,提高了运算的效率以及运算的精确值。

⑶输入说明输入数据均为有效实数(4)输出说明a・输出值范围:108到10・8b・精确值:小数点后两位(.00)c・计算结果将会在求算按钮点击后1秒内给出,如果屏幕显示乱码“表示计算结果超出了运算范围或者运算不符合运算要求!⑸环境a・硬件:长度:60cm宽度:30cm高度:15cm内存:4MB存储空间:1024KBb・软件:C语言运算代码⑹特殊的规程要求使用计算器之前确保电池的电量,如需对计算器原有的记忆全部删除,可以在计算器背面的原孔处点击,实现计算器的出厂还原!(7)用例间的依赖关系:无基于等价类的测试用例输入条件加法运算有效等价类1+1=2 (1)-1+ (-1) =-2 (2)-1-1=-2 (6)10-9=1 (7)2*2=4 (10)-1* (-2) =2 (11)-1/1=-1(14)10/5=2(15)无效等价类・1+ (-1) =-3 (3) 1+2=5 (4) 10A8+10A8=输出错误(5) 10A (-8) 减法运算乘法运算除法运算1-9=-10 (8) -10A8=输出错误(9) 2*10=19 (12) 10A8*10A8=输出错误(13)・1/10=1(16)10/0=输出错误(17)基于边界值分析法的测试用例编号35678输入数据2+110A8+l2-110A (・8)测试的边界条件和为正数和为正数差为正数差为负数积为负数积为正数商为负数商为正数预期结果10A8+l10A-410A10-110A(-10)(・8)实际输出结果3输出无效1输出无效-4输出无效备注(预期结果与实际结果比较)相符不符相符不符相符不符相符不符-1-12* (-2)10A8*10A22/ (-2)10A (-8) /10A2输出无效。

功能测试的用例设计思路

功能测试的用例设计思路

功能测试的用例设计思路功能测试用例设计思路:一场探索之旅功能测试就像是一场对软件功能的探索之旅,那设计用例就好比绘制探索的地图。

这地图画得好不好,可直接关系到咱们能不能把软件的功能摸得透透的。

咱先说这输入方面。

你看,软件就像个大盒子,输入就像是往这个盒子里丢东西。

如果这个盒子是个计算器,那输入数字就是最基本的操作。

咱得考虑各种各样的数字啊,正数、负数、零,就像生活里有高个子、矮个子和不高不矮的人一样。

咱不能只测试正数,就觉得这个计算器的加法功能没问题了呀。

要是只测了1 + 1 = 2,那万一人家输入 -1 + 1呢?这结果可就不一样了。

这就好比你去超市买东西,只看了苹果的价格,没看香蕉的价格,那能行么?再看看边界值的测试。

这就像是在走钢丝,你得找到那个最边上的点。

比如说,一个输入框要求输入1到100之间的数字,那1和100就是边界啊。

这就像你在一个有围栏的院子里玩,围栏就是边界,你得看看在围栏边上会发生什么。

是能稳稳站住呢,还是会掉出去?要是这个输入框,你输入0或者101会怎样?会不会弹出个友好的提示,还是直接系统崩溃了?这就好比你站在院子的围栏上,是会有个小警告说“别出去啦”,还是直接掉进沟里呢?功能的组合测试也特别重要。

这就像是做菜,一道菜里有好几种食材,每种食材单独吃是一个味道,组合在一起又是另一个味道。

软件里的功能也是这样,一个功能单独运行没问题,和其他功能一起运行的时候呢?比如说,一个文档编辑软件,有保存功能和加密功能。

你先保存了一个文档,然后加密,再保存一次,这过程中会不会有什么问题?会不会保存的时候把加密信息弄丢了?这就像你做蛋糕,先放了面粉,再放鸡蛋,然后又放了一次面粉,结果发现蛋糕没发起来,那肯定是哪里出问题了呀。

还有异常情况的测试。

这就像是给软件来个突然袭击。

软件正运行得好好的,突然断网了,会怎样?就像你正在打电话,突然信号没了,你肯定希望手机能给你个提示,而不是直接死机吧。

个税计算器测试用例

个税计算器测试用例

内存: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日
性等
无 测试结果 缺陷编号 备注
此项不能为空
输入项清空

计算器的测试用例全

计算器的测试用例全
1.2
点击*按钮
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
错误提交:数据内部不可以添加算法接受非数字前的数据,应作错误处理

空数值操作
-
点击任意按钮
提示用户输入
0
异常反馈:提示用户输入

单个操作数
4
点击+按钮
点击=按钮
提示用户输入
8
错误反馈:当用户点击运算按钮清空文本内容

计算器黑盒测试实验报告

计算器黑盒测试实验报告

西实科技验报算告?实验名称计算器黑盒测试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.引言
编写目的
练习使用黑盒测试。

项目背景
来自windows7的计算器。

定义
参考资料
计算器帮助主题;
2.测试计划执行情况?
测试项目
功能一:%
功能二:()
Test1标准型
Test2科学型
Test3程序员
功能三:+ - * /
1.二进制
3.软件测试结论
a.软件实力:界面精美,类型和功能齐全,错误较少。

b.功能一:无错误,预期输出均正确。

功能二:在标准型,科学型,程序员型下括号个数上限均为25个。

功能三:在边界值输入时,预期结果超出边界值时会产生错误结果。

功能四:在输入范围允许内进制转换均有效,边界值输入转换无误。

功能五:除数不能为0,利用Inv计算方根较为方便,使界面更加简单。

功能六:正弦余弦计算均无误,容错功能较完善。

4.评价
测试结论
可以通过,错误较少,范围内操作数以及操作结果均正确,边界值大都无误。

单元测试用例

单元测试用例

单元测试用例简介单元测试是软件开发过程中的一项重要工作,它可以帮助开发者确保代码的正确性和稳定性。

本文档将介绍单元测试用例的编写规范和实例,并提供一些常见的单元测试场景和策略。

编写规范编写高质量的单元测试用例需要遵循一些规范,这些规范可以帮助开发者提高测试的效率和可靠性。

下面是一些常见的编写规范:1.测试用例命名规范:测试用例的命名应该清晰、简洁,并且能够反映出被测代码的功能或行为。

建议使用动词加名词的方式进行命名,例如test_get_user_info。

2.测试用例的覆盖范围:测试用例应该覆盖被测代码的所有重要逻辑分支和边界条件。

通过合理的测试用例设计,可以提高测试覆盖率,从而减少错误的概率。

3.测试用例的独立性:每个测试用例应该是独立的,不依赖于其他测试用例的执行结果。

这样可以确保每个测试用例都可以独立地运行和调试。

4.测试用例的可读性:测试用例的代码应该具有良好的可读性,使其他开发者能够快速理解测试的目的和逻辑。

可以通过添加注释、使用有意义的变量和函数名等方式提高代码的可读性。

实例下面是一个示例,展示了如何编写一个简单的单元测试用例。

```markdown ## 测试用例1:计算器加法功能测试测试目的验证计算器的加法功能是否正确。

测试步骤1.初始化计算器对象。

2.调用计算器的加法方法,输入两个整数作为参数。

3.验证计算结果是否正确。

预期结果如果计算结果正确,则测试通过;否则,测试失败。

测试数据•输入1:2•输入2:3测试代码def test_add():calculator = Calculator()result = calculator.add(1, 2)assert result ==3测试用例2:列表排序功能测试测试目的验证列表排序功能是否正确。

测试步骤1.初始化一个待排序的列表。

2.调用排序方法对列表进行排序。

3.验证排序后的列表是否按照预期顺序排列。

预期结果如果排序后的列表按照预期顺序排列,则测试通过;否则,测试失败。

手机MTK测试用例

手机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自带计算器黑盒测试文档

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实现简单的四则运算计算器

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 计算器的加、减、乘、除运算设计测试用例。

单元测试测试用例例子

单元测试测试用例例子

以下是一个简单的单元测试用例例子,用于测试一个计算两个数字之和的函数:测试用例一:输入两个正整数,验证计算结果是否正确
测试数据:输入两个正整数10和20
预期结果:计算结果为30
测试步骤:调用计算函数,传入10和20作为参数,验证返回值是否为30
测试用例二:输入一个正整数和一个负整数,验证计算结果是否正确
测试数据:输入一个正整数10和一个负整数-10
预期结果:计算结果为0
测试步骤:调用计算函数,传入10和-10作为参数,验证返回值是否为0
测试用例三:输入两个负整数,验证计算结果是否正确
测试数据:输入两个负整数-10和-20
预期结果:计算结果为-30
测试步骤:调用计算函数,传入-10和-20作为参数,验证返回值是否为-30
测试用例四:输入一个负整数和一个正整数,验证计算结果是否正确
测试数据:输入一个负整数-10和一个正整数20
预期结果:计算结果为10
测试步骤:调用计算函数,传入-10和20作为参数,验证返回值是否为10
测试用例五:输入两个零,验证计算结果是否正确
测试数据:输入两个零
预期结果:计算结果为零
测试步骤:调用计算函数,传入两个零作为参数,验证返回值是否为零。

win7计算器软件测试

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公司的员工。

计算机考试系统测试用例设计

计算机考试系统测试用例设计

计算机考试系统测试用例一、测试目标1.确保系统能够正确处理用户的登录和注册请求。

2.确保系统能够正确地生成试卷,并保证试卷的随机性。

3.确保系统能够正确地评分并显示考试成绩。

4.确保系统能够记录用户的成绩和历史记录。

5.确保系统能够正常运行并在高负载下保持稳定。

二、测试环境(三)测试用例1. 测试用例1:验证系统是否能成功登录。

预期结果:如果输入的用户名和密码正确,系统应成功登录;否则,系统应显示错误消息。

2. 测试用例2:验证系统是否能成功注册新用户。

预期结果:如果输入的信息完整且有效,系统应成功注册新用户;否则,系统应显示错误消息。

3. 测试用例3:验证系统是否能成功添加考试。

预期结果:如果输入的考试信息完整且有效,系统应成功添加考试;否则,系统应显示错误消息。

4. 测试用例4:验证系统是否能成功删除考试。

预期结果:如果输入的考试ID存在,系统应成功删除该考试;否则,系统应显示错误消息。

5. 测试用例5:验证系统是否能成功修改考试信息。

预期结果:如果输入的考试ID存在,系统应成功修改该考试的信息;否则,系统应显示错误消息。

6. 测试用例6:验证系统是否能成功发布考试。

预期结果:如果输入的考试ID存在,系统应成功发布该考试;否则,系统应显示错误消息。

7. 测试用例7:验证系统是否能成功取消发布考试。

预期结果:如果输入的考试ID存在且已发布,系统应成功取消发布该考试;否则,系统应显示错误消息。

8. 测试用例8:验证系统是否能成功创建新的试题。

预期结果:如果输入的试题信息完整且有效,系统应成功创建新的试题;否则,系统应显示错误消息。

9. 测试用例9:验证系统是否能成功删除试题。

预期结果:如果输入的试题ID存在,系统应成功删除该试题;否则,系统应显示错误消息。

10. 测试用例10:验证系统是否能成功修改试题信息。

预期结果:如果输入的试题ID存在,系统应成功修改该试题的信息;否则,系统应显示错误消息。

计算器测试用例

计算器测试用例

用例编号相关用例计算器界面 1.011.点击“计算器”,进入计算器界面输入数字 1.01 1.直接按数字键盘上相应的按键1.011.点击屏幕上数字键盘上的小数点1.021.点击屏幕上的数字键输入数字:2.22.点击“.”输入负号 1.011.先输入一个负号2.点击屏幕上的数字键输入数字:23.输入一个乘号4.点击屏幕上的数字键输入数字:5加减乘除符号 1.011.点击键盘上任意一个运算符号的位置(+、-、×、÷)各测试一次删除显示框的数字1.011.输入数字:1234567892.点击屏幕上的“清除”键1次清零 1.011.输入数字:1234567892.长按住屏幕上的“清除”键后释放输入小数点参考信息说明:测试结果列分PASS和FA 功能特性能进行简单的计算,并且有一定的容用例说明测试目的验证计算器能正常进行简单的计算预置条件进入计算器界面两个正数正常进行运算1.011.输入一个数字(正整数和小数各测试一次)2.输入“+”(+、-、×、÷各测试一次)3.输入一个数字(正整数和小数两负数正常进行运算1.011.输入一个数字(负整数和负小数各测试一次)2.输入"+"号(+、-、×、÷各测试一次。

)3.输入一个数字(负整数和负小两正整数边界数进行运算1.011.输入一个数字(0或9输入到最大)2.输入"+"号(+、-、×、÷各测试一次。

)3.输入一个数字(0或9输入到最大)5.按"="号。

两正小数边界数进行运算1.011.输入一个数字(0或9输入到最小或最大,小数、整数各测一次)两负数边界数进行运算1.011.输入一个数字(负整数和负小数各测试一次)2.输入“+”(+、-、×、÷各测试一次)1.011.输入数字(小数、正数、负数各测试一次)2.输入运算符号3.输入数字1.021.输入数字(小数,正数,负数各测试一次)2.输入运算符号3.输入数字计算器界面来电话1.011.进入计算器界面;2.有电话呼入计算器界面来短信或彩信1.011.进入计算器界面;2.来一条短信或彩信计算器界面来提醒1.011.在日程表里设置一个提醒;2.进入计算器界面;3.到时间响铃在计算时,没电关机1.011.在计算器界面,计算数字时没电自动关机在计算时,按power键关机1.011.在计算器界面,计算数字时按关机键关机三个数以上连续运算计算器主界面 1.01 1.按“MENU”键1.02 1.01 1.点击“清除历史记录”1.03 1.01 1.点击“高级面板”S和FAIL两种情况,通过的填[P],有问题项填[F],并在问题描述列标注[未处理问题列表]中对应BUG的序号;软件“xx”模块测试用例定的容错能力计算特殊规程说明预期结果测试结果显示数字键、符号键、清除键以及输入框在计算器显示屏上显示焦点所在的数字;按不同的键,屏幕上显示对应的数字在计算器显示屏上显示焦点所在的小数点计算器显示屏上显示 2.2上不会显示后输入的小数点计算器屏显示的结果为-10计算器显示屏上显示“-”其它运算符不显示计算器显示屏上显示“12345678”计算器显示屏上显示内容为空p验证计算出两个正整数正常运算后的结果正确1.验证计算出两个负数正常运算后的结果正确;2.验证两个负数相乘或相除等于正数。

计算器软件测试报告

计算器软件测试报告

希望对大家有所帮助.名谢您的浏览!江西工业职业技术学院毕业综合实践课题名称: 安卓手机计算器作者:廖杰学号: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 个测试用例。

计算器的测试用例XX49号

计算器的测试用例XX49号
11.x属于[301,600],y不属于[301,600]
12.多余2个整数
13.输入的2个数中有非数字字符
14.输入的数字中有小数
测试内容
测试数据
期望结果
加法
0,0
0
加法
100,100
200
加法
50,20
70
减法
101,101
0
减法
200,200
0
减法
150,199
49
乘法
201,201
40401
乘法
300,300
90000
乘法
250,280
70000
除法
301,301
1
除法
600,600
0
除法
301,600;600,301
1
除法
500,400;400,500
1
输入多于两个的数字
20,30,40
50
输入的有非数字字符
20,a;#,30
出错,程序结束
输入的数字中有小数
20.பைடு நூலகம்,40;40,20.3
5.x属于[0,100],y不属于[0,100]
6.y属于[0,100],x不属于[0,100]
7.x属于[102,200],y不属于[102,200]
8.y属于[102,200],x不属于[102,200]
9.x属于[201,300],y不属于[201,300]
10.y属于[201,300],x不属于[201,300]
要求:输入的两个整数需在[ 0,600]之间,且不同区域直接的数据有不同的运算,具体的见下面:
x,y都在[0,100]之间为加法运算
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档