计算器测试用例

合集下载

Win7计算器软件测试报告要点(可编辑修改word版)

Win7计算器软件测试报告要点(可编辑修改word版)

W i n7计算器功能测试报告目录1.前言 (1)1.1测试目的 (1)1.2测试背景 (1)2.测试软件 (1)2.1软件名称 (1)2.2获取方式 (1)2.3功能模块 (1)3.功能测试设计 (3)3.1测试目标 (3)3.2测试模块 (3)3.3等价类划分及测试用例 (4)4.功能测试实施 (8)4.1测试时间 (8)4.2测试过程及结果 (8)5.测试分析及缺陷描述 (11)5.1测试分析 (11)5.2缺陷描述 (12)6.附录—测试分工 (13)班级:信管 101姓名:褚伟梁1.前言1.1测试目的根据 Windows 7 计算器的帮助文档,制定对 Windows 7 计算器的测试用例,用来测试计算器功能。

包括:输入输出、计算换算、日期计算等。

根据本次测试来评估当前的计算器是否符合设计要求和使用要求,并进而做出测试分析报告。

1.2测试背景1)测试计划所从属的软件系统:Windows 7;2)在开始执行本测试计划之前必须完成的工作:需要阅读计算器的帮助文档。

2.测试软件2.1软件名称Windows7 自带计算器2.2获取方式2.3功能模块1)标准型(进行加减乘除百分制等简单运算)2)科学型(进行较为复杂的科学计算)3)程序员(二进制、八进制、十进制、十六进制之间的转换等)4)日期计算(计算两个日期之差或一个日期加上、减去到指定日期的天数)3.功能测试设计3.1测试目标该测试目标是核实数据的接受,处理和检索是否正确。

此类测试基于黑盒测试技术(手工测试),该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。

3.2测试模块1)模块 1:执行基本的运算(功能模块 1&2)因果图:2)模块 2:执行进制的换算(功能模块 3)因果图:3)模块 3:执行日期计算功能(功能模块 4)3.3等价类划分及测试用例a.基本运算等价类(以科学型为主)b.基本运算测试用例c.进制换算等价类(基于四字)d.进制转换测试用例e.日期计算等价类f.日期计算测试用例4.功能测试实施4.1测试时间功能测试安排时间:5 天4.2测试过程及结果a.模块 1测试内容描述b.模块 2测试内容描述c.模块 3测试内容描述4.选择“”,进行如下计算8. 单击“计算”已输入在框中显示目标日期与预期一致5.测试分析及缺陷描述5.1测试分析经测试证实了的 Win7 系统自带的部分计算器功能符合要求,输出类型基本全部合理,测试输出结果与预期输出结果相同并无较大偏差,而且界面布局显示合理,能进行基本的十进制运算,输入数据和结果数据范围在-99…9(32位)到99…9(32位)之间,若超过 32 位,将以“1.e+33”的形式显示,且能进行简单的二进制,八进制,十进制,十六进制间的转换及运算,以四字二进制为准,输入数据和结果数据范围在-1…1(64位)到1…1(64位)之间,还能进行 1601.1.1 到9999.12.31 之间的日期计算。

windows自带计算器黑盒测试文档

windows自带计算器黑盒测试文档

单元测试1引言1.1编写目的根据Windows XP记事本的帮助文档,制定对Windows XP记事本的测试用例。

该计划用来测试记事本功能。

包括:界面设计、输入输出、内部等。

根据本次测试来评估当前的记事本是否符合设计要求和使用要求,并进而做出测试分析报告。

1.2背景说明:a.测试计划所从属的软件系统:Windows XP;b.在开始执行本测试计划之前必须完成的工作:需要阅读有一个记事本的帮助文档。

1.3定义记事本,用来记录各类事情的小册子。

在windows操作系统中是一个简单的文本编辑器。

自从1985年发布的Windows 1.0开始,所有的Microsoft Windows 版本都内置这个软件另外还有名为《记事本》的电影、歌曲。

1.4参考资料用到的参考资料:a. Windows 记事本的帮助文档2计划2.1软件说明以下的图表是用来说明被测软件的功能来作为叙述测试计划的提纲。

2.2测试内容列出组装测试和确认测试中的每一项测试内容的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。

具体的测试内容如下:(1)功能测试:对测试对象的功能测试。

该测试目标是核实数据的接受,处理和检索是否正确。

此类测试基于黑盒测试技术,该技术通过图形界面与应用程序进行交互,并对交互的输出和结果进行分析,以此来核实应用程序及其内部进程。

(2)用户界面测试:测试界面之间是否能完成相互转换。

(3)性能测试:测试该记事本的响应时间,以及事务处理速率和其他与时间相关的需求进行评测和评估2.3测试1(RW011新建)设计者创建日期2012-05-07 设计状态初稿用例类型手工操作用例描述在windows2007环境下,测试新建一个空白txt文档目的验证能实现新建空白txt文档的功能前提条件记事本系统可用测试步骤及输入:结果:步骤1 点击开始-所有程序-附件-记事本成功进入记事本系统步骤2 在记事本系统界面,点击文件-新建(ctrl+N)新建一个空白文档步骤3 在编辑区域输入1310906 显示出入值:123456步骤4 在编辑区域输入冉维显示出入值:冉维步骤5 在编辑区域输入ranwei 显示出入值:ranwei步骤6 在编辑区域输入@#$%^& 显示出入值:@#$%^&步骤7 点击文件-新建(ctrl+N)系统提示::点击是保存,点击否不保存,点击取消撤销新建功能步骤8 在桌面点击右键,选择新建-文本文档桌面新建一个,双击打开为空白文档RW012打开RW013保存或另存为RW014页面设置和打印”系统提示“步骤2 打开文件-打印(Ctrl+P)”2.3.1进度安排预计总测试时间(7天)2.3.2测试资料本项测试所需的资料:1. 计算器帮助文档;2. Microsoft公司的Windows XP下的计算器2.4测试2 (RW021编辑)RW02编辑RW021编辑软件记事本系统模块名称编辑名称设创建日期2012-05-07 计者设计初稿用例类型手工状态用例描述在windows2007环境下,测试编辑一个空白txt文档目的验证能对记事本进行操作前提条件记事本系统可用测试步骤及输入:结果:步骤1在编辑区域输入1310906 显示出入值:123456 步骤2在编辑区域输入冉维显示出入值:冉维步骤3在编辑区域输入ranwei 显示出入值:ranwei 步骤4在编辑区域输入@#$%^& 显示出入值:@#$%^&步骤5 点击编辑-撤销(Ctrl+Z)显示内容:ranwei步骤6 点击编辑-剪切(Ctrl+X),选中的内容是ranwei选中内容消失步骤7 点击编辑-复制(Ctrl+C),选中的内容是ranwei选中内容没变化步骤8 点击编辑-粘贴(Ctrl+V),选中的内容是ranwei显示内容:ranweiranwei步骤9 点击编辑-删除(Del),选中的内容是ranwei显示内容:ranwei步骤10 点击编辑-查找(Ctrl+F),查找内容r显示内容:r字符蓝色标记步骤11 点击编辑-查找下一个(F3),查找内容r显示内容:选择一次,则r相应的而后一个字符转变为蓝色,没有则显示步骤12 点击编辑-替换(Ctrl+H),第一个r替换为w显示内容:wanwei步骤13 点击编辑-全选(Ctrl+A)显示内容:wanwei,字体颜色全部变为蓝色步骤14 点击编辑-时间/日期(F5)显示内容:2.4.1测试资料本项测试所需的资料:1. 计算器帮助文档;2. Microsoft公司的Windows XP下的记事本2.5测试3 (RW03格式)RW03格式RW031自动换行软件名称记事本系统模块名称自动换行设计者创建日期2012-05-07 设计状态初稿用例类型手工用例描述在windows2007环境下,测试新建一个空白txt文档目的实现”自动换行”和”非自动换行”的状态间切换功能前提条件记事本系统可用测试步骤及输入:结果:步骤1 打开记事本,选择格式下的自动换行换行成功步骤2 在空白区域里输入的汉字超过一行字的范围,点击自动换行换行成功步骤3 选中在空白区域所编辑的数据。

个税计算器测试用例

个税计算器测试用例

内存: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.引言
编写目的
练习使用黑盒测试。

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

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

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

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

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

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

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

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

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

计算器黑盒测试实验报告

计算器黑盒测试实验报告

一、测试目的设计测试用例、使用各种测试方法进行计算器的测试,并对测试结果进行分析二、测试内容1.软件说明:实现一个小的计算器程序,只需要完成加、减、乘、除运算,设计测试用例,并对测试结果进行分析,同时计算器运行稳定。

2、设计测试用例3、执行测试4、测试结果分析5、源代码三、测试步骤(一)、计算器界面2、设计测试用例(1)等价类测试:1、4个等价类测试用例的分析过程如下:测试用例加减乘除预期输出整型55+50 78-24 15*25 36/4 正常运算小数25.3+12.7 14.3-11.7 25.6*12.8 50.2/20.7 正常运算负数-20+-21 (-15)-(-14) -12*-12 -16/-5 正常运算无效输入E1+t2 G4-k5 I5*l6 Ff/se 非法操作无法输入2、对应测试的结果分析:整型:1.加(55+50)2.减(78-24)3.乘(15*25)4.除(36/4)小数1.加(25.3+12.7)2.减(14.3-11.7)3.乘(25.6*12.8)4.除(50.2/20.7)负数6.加-20+-217.减(-15)-(-14)8.乘-12*-129.除-16/-5(其中算式写法错误导致正常运算错误)无效输入1.加(E1+t2):程序中无效数字无法正常输入,程序无法进行。

2.减(G4-k5)程序中无效数字无法正常输入,程序无法进行。

(同上)3.乘(I5*l6)程序中无效数字无法正常输入,程序无法进行。

(同上)4.除(Ff/se)程序中无效数字无法正常输入,程序无法进行。

(同上)5.(2)边界值法设计测试:加法:1、计算器4个标准等价类测试用例的分析过程如下:测试用例被加数加数预期输出Test1 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 正常运算Test11 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算Test14 10 101 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test2结果:Test3结果:Test4结果:Test5结果:Test6结果:减法:测试用例被减数减数预期输出Test1 0 10 正常运算Test2 1 10 正常运算Test3 40 10 正常运算Test4 55.5 10 正常运算Test5 -78 10 正常运算Test6 100 10 正常运算Test7 101 10 正常运算Test8 10 0 不能运算Test9 10 1 正常运算Test10 10 40 正常运算Test11 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算Test14 10 101 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test3结果:Test4结果:Test5结果:Test6结果:乘法1测试用例被乘数乘数预期输出Test1 0 50 正常运算Test2 1 5 正常运算Test3 24 10 正常运算Test4 55.5 10 正常运算Test5 -78 10 正常运算Test6 100 10 正常运算Test7 101 10 正常运算Test8 10 0 不能运算Test9 10 1 正常运算Test10 10 40 正常运算Test11 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算Test14 10 101 正常运算2、对应测试与结果:测试结果运算均属正常,对应的部分的示图如下:Test1结果:Test3结果:Test4结果:Test5结果:Test6结果:除法1测试用例被除数除数预期输出Test1 0 10 正常运算Test2 1 10 正常运算Test3 40 10 正常运算Test4 55.5 10 正常运算Test5 -78 10 正常运算Test6 100 10 正常运算Test7 101 10 正常运算Test8 10 0 正常运算Test9 10 1 正常运算Test10 10 40 正常运算Test11 10 55.5 正常运算Test12 10 -78 正常运算Test13 10 100 正常运算Test14 10 101 正常运算2、对应测试与结果:对应的部分的示图如下:Test1结果:Test2结果:Test3结果:Test8结果:附录:源代码CCalculateDlg::CCalculateDlg(CWnd* pParent /*=NULL*/){//{{AFX_DA TA_INIT(CCalculateDlg)m_parameter = 0.0;//}}AFX_DA TA_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_DA TA_MAP(CCalculateDlg)DDX_Text(pDX, IDC_EDIT, m_parameter);//}}AFX_DA TA_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_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_SEPARA TOR);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 icondc.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 here }void 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;}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;}else{CalculatePara = 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;}else{CalculatePara = 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;}elseCalculatePara = 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++;m_parameter = CalculatePara;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;Sumpoint = 0;UpdateData(false);// TODO: Add your control notification handler code here }。

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

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

计算器的测试用例全

计算器的测试用例全
-3.49065850398866E-02
正常
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

方法根据输出对输入的依赖关系设计测试用例

方法根据输出对输入的依赖关系设计测试用例

方法根据输出对输入的依赖关系设计测试用例在软件测试中,有时我们需要根据输出来设计测试用例,以此确定输入对输出的依赖关系,以确保软件的正确性和完整性。

具体而言,我们需要按照以下步骤进行:
1. 确定输出
首先,我们需要明确软件系统的输出是什么,这通常可以通过分析需求文档或软件规格说明书得出。

例如,对于一个计算器软件,其输出可能是计算结果。

2. 分析输出与输入的关系
接下来,我们需要分析输出与输入之间的关系,以此确定输入对输出的依赖关系。

例如,对于一个计算器软件,计算结果可能与输入的数值、运算符等有关。

3. 设计测试用例
根据前两个步骤确定的依赖关系,我们可以设计相应的测试用例来验证输入对输出的影响。

例如,针对计算器软件,我们可以设计以下测试用例:
- 测试用例1:输入两个整数,进行加法运算,验证计算结果是否正确。

- 测试用例2:输入两个小数,进行减法运算,验证计算结果是否正确。

- 测试用例3:输入一个整数,进行平方运算,验证计算结果是否正确。

4. 执行测试用例
最后,我们需要执行设计好的测试用例,并记录测试结果,以此判断软件的正确性和完整性。

综上所述,根据输出对输入的依赖关系设计测试用例,是一种重要的测试方法,能够有效地验证软件的正确性和完整性,提高软件质量和可靠性。

计算器软件测试报告

计算器软件测试报告

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

excel测试用例模板和例子

excel测试用例模板和例子

excel测试用例模板和例子在软件开发过程中,测试是非常重要的一环。

测试用例是测试过程中的重要组成部分,其主要作用是规定测试的范围和测试的方法,确保软件的质量。

测试用例需要进行详细的编写和管理,以确保软件的功能和性能的正确性。

本文将介绍Excel测试用例模板和例子,以帮助测试人员更好地编写和管理测试用例。

一、Excel测试用例模板Excel是一种常用的办公软件,也是测试用例编写的一个常用工具。

下面是一个基本的Excel测试用例模板,包括测试用例编号、测试用例名称、测试目的、测试条件、测试步骤、期望结果、实际结果、测试结论等基本信息。

测试用例编号t测试用例名称t测试目的t测试条件t测试步骤t期望结果t实际结果t测试结论例如,对于一个简单的登录测试用例,可以按照以下方式进行编写:测试用例编号tT001t测试用例名称t登录测试t测试目的t验证用户可以成功登录系统t测试条件t已安装好系统t测试步骤t1. 打开登录页面; 2. 输入正确的用户名和密码; 3. 点击登录按钮。

t期望结果t1. 登录成功; 2. 跳转到主页面。

t实际结果t1. 登录成功; 2. 跳转到主页面。

t测试结论t通过二、Excel测试用例例子除了基本的测试用例信息,测试用例还需要包括具体的测试步骤和期望结果。

下面是一个简单的Excel测试用例例子,以验证一个简单的计算器应用程序的加法功能。

测试用例编号tT002t测试用例名称t加法测试t测试目的t验证计算器应用程序的加法功能是否正确t测试条件t已安装好计算器应用程序t测试步骤t1. 打开计算器应用程序; 2. 输入数字1和数字2; 3. 点击加号按钮; 4. 点击等号按钮。

t期望结果t1. 显示数字1+数字2的结果; 2. 结果正确。

t实际结果t1. 显示数字1+数字2的结果; 2. 结果正确。

t测试结论t通过通过以上测试用例,可以验证计算器应用程序的加法功能是否正确。

在实际测试中,还需要根据具体的测试需求编写更多的测试用例,以确保软件的正确性和稳定性。

计算器场景法案例

计算器场景法案例

计算器场景法案例一、场景:家庭购物算账。

假设你和家人去超市购物,买了一堆东西。

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元。

计算器的测试用例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)。

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

(3)输入说明
输入数据均为有效实数
(4)输出说明
a.输出值范围:108到10-8
b.精确值:小数点后两位(.00)
c.计算结果将会在求算按钮点击后1秒内给出,如果屏幕显示乱码,,表示计算结果超出了
运算范围或者运算不符合运算要求!
(5)环境
a.硬件:
长度:60cm 宽度:30cm 高度:15cm
内存:4MB
存储空间:1024KB
b.软件:
C语言运算代码
(6)特殊的规程要求
使用计算器之前确保电池的电量,如需对计算器原有的记忆全部删除,可以在计算器背面的原孔处点击,实现计算器的出厂还原!
(7)用例间的依赖关系:无
基于等价类的测试用例。

相关文档
最新文档