一键升级 产品/项目
集成测试方案
编号:
| 拟稿 | 审核 | 批准 |
签 名 |
|
|
|
日 期 |
|
|
|
目 录
修订记录
序号 | 版本号 | 修订内容 | 修订人 | 修订日期 |
A | 0.1 | 新建 |
|
|
B |
|
|
|
|
C |
|
|
|
|
D |
|
|
|
|
E |
|
|
|
|
F |
|
|
|
|
G |
|
|
|
|
H |
|
|
|
|
I |
|
|
|
|
J |
|
|
|
|
K |
|
|
|
|
L |
|
|
|
|
M |
|
|
|
|
N |
|
|
|
|
O |
|
|
|
|
P |
|
|
|
|
Q |
|
|
|
|
R |
|
|
|
|
S |
|
|
|
|
T |
|
|
|
|
1. 目的
编写本文档的主要目的,也可指出与本文档相对应活动应达到的目的。
2. 适用范围
列出有哪些部门、岗位、人员在什么情况下使用本文档。
3. 定义
列出本文档中所使用的术语和缩略语。
术语——列出在本文档中用到的关键词和专用词,并给出其含义;
缩略语——应列出在本文档中用到的所有缩略语,并给出中英文全称;另外在正文中缩略语首次出现处也要给出其中英文全称。
4. 软件集成测试方案
4.1. 测试重点分析
对整个测试对象做个详细的分析,说明其基本功能和特征。并分析出需要重点测试的集成模块。
4.2. 软件集成的顺序
分析测试的程序模块结构,确定采用的集成策略,如自顶向下集成、自底向上集成等。并说明理由。
4.3. 参考文档
列出参考的文档。
4.4. 测试环境搭建
说明所需的软件工具。估计所需要用到的各种资源,如人力资源、测试程序、工具/设备需求等。
5. 测试方案详细说明
5.1. 登陆验证测试集成
5.1.1. 测试对象分析
该模块主要实现启动升级功能时的登录网站和验证用户权限的过程。其动作的执行与网站是否可以访问、是否具备合法的用户权限有关。主要是对应用程序类的InitInstance函数与类CConnectState的集成。
5.1.2. 测试用例设计
通过一个正常登陆测试用例,覆盖了初始验证登陆过程中,所有接口的正确分支。然后再依次考虑这些过程中会出现的异常和失败情况,设计了如下表所示的测试用例。执行完这些测试用例,可以实现关键接口代码中判断的覆盖率达到100%。
用例编号 | 输入 | 预期输出 | 测试结果 |
5101 | 网站可访问;通过认证 | 成功读取升级列表 | NG |
5102 | 第1步STestWebServer输出-1 | 重试3次后,显示连接网站失败,点击“放弃”退出程序 | NG |
5103 | 第1步测试网络成功, 第2步STestLogon输出-1 | 重试3次后,显示连接网络失败,点击“放弃”退出程序 | OK |
5104 | 第1步测试网络成功, 第2步STestLogon输出13, | 显示注册对话框 | OK |
5105 | 第1步测试网络成功, 第2步STestLogon输出0, | 显示产品序列号为空,点击“放弃”退出程序 | NG |
5106 | 第1步测试网络成功 第2步登陆成功 第3步SLoadSoft输出-1 | 显示下载版本信息失败,点击“放弃”退出程序 | NG |
5107 | 第1步时点击放弃按钮 | 退出程序 | NG |
5108 | 第2步时点击放弃按钮 | 退出程序 | NG |
5109 | 第3步时点击放弃按钮 | 退出程序 | NG |
5.1.3. 测试结果分析
失败用例 | 错误描述和分析 |
5101 5102 5107 5108 | 点击“放弃”按钮后,软件界面消失,但进程没有退出 |
5105 | 产品序列号为空时,给CConnectState::m_return的值为0,导致函数CupdateApp:: InitInstance()执行Load_softwareOK标签后的语句,进入软件列表界面 |
5106
| 点击“放弃”按钮后,软件并没有退出,而是进入函数CupdateApp::InitInstance()中的 Update标签继续运行。由于在下载版本信息失败后,并没有更新成员变量CConnectState::m_return的值所致,应该在最终判断下载版本信息失败后更新CConnectState::m_return的值 |
5109 | 点击放弃后进入Update标签 |
CupdateApp::InitInstance()中使用了量的goto语句,是程序的结构非常的混乱。对于同一变量rs值的判断,使用了4个独立的if语句,结构不清晰,如执行到判断if(rs==RS_OK)时,该判断永远为真,而判断if(rs!=5)永远不会执行。
5.2. 注册向导集成
5.2.1. 测试对象分析
在用户没有注册时,程序会跳转到注册页面,用户可以根据注册向导来完成产品的注册。注册过程分为四个步骤,涉及到CTerms、CProductMsg、CRegMsg和CRegResult四个类。在注册过程中,以依次调用这几个类,还会根据不同的操作返回到已完成的步骤会退出软件。
5.2.2. 测试用例设计
根据分析得出的流程图,设计测试用例,覆盖程序的各个分支。
用例编号 | 输入(*1) | 预期输出 | 测试结果 |
5201 | 输入正确信息成功完成注册向导 | 注册成功并进入升级界面 | NG |
5202 | 第1步选择不同意(ret=3) | 退出程序 | OK |
5203 | 第2步选择放弃(ret=3) | 退出程序 | OK |
5204 | 第2步选择返回上一步(ret=2) | 回到第1步 | OK |
5205 | 第2步检测到产品已注册(ret=4) | 跳转到第4步 | OK |
5206 | 第3步选择放弃(ret=3) | 退出程序 | OK |
5207 | 第3步选择返回上一步(ret=2) | 回到第2步 | OK |
5208 | 第4步选择放弃(ret=3) | 退出程序 | OK |
5209 | 第4步点击“升级中心” | 跳转到升级程序列表界面 | OK |
5210 | 第4步点击“购买中心” | 跳转到购买中心软件列表界面 | OK |
备注:
*1:没有特殊说明,其他操作步骤都按正确的注册方式进行。
5.2.3. 测试结果分析
失败用例 | 错误描述和分析 |
5201 | 在注册信息页面,如果不对国家或省份信息进行任何选择,点击下一步会导致程序崩溃 |
5.3. 购买中心集成
5.3.1. 测试对象分析
5.3.2. 测试用例设计
通过一个正常登陆测试用例,覆盖了初始验证登陆过程中,所有接口的正确分支。然后再依次考虑这些过程中会出现的异常和失败情况,设计了如下表所示的测试用例。执行完这些测试用例,可以实现关键接口代码中判断的覆盖率达到100%。
用例编号 | 输入 | 预期输出 | 测试结果 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.3.3. 测试结果分析
失败用例 | 错误描述和分析 |
|
|
|
|
5.4. 升级中心集成
5.4.1. 测试对象分析
5.4.2. 测试用例设计
通过一个正常登陆测试用例,覆盖了初始验证登陆过程中,所有接口的正确分支。然后再依次考虑这些过程中会出现的异常和失败情况,设计了如下表所示的测试用例。执行完这些测试用例,可以实现关键接口代码中判断的覆盖率达到100%。
用例编号 | 输入 | 预期输出 | 测试结果 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.4.3. 测试结果分析
失败用例 | 错误描述和分析 |
|
|
|
|
6. 测试总结
6.1. 缺陷分析
对发现的所有缺陷进行分析,如缺陷多发的模块,使用饼图描述不同等级的缺陷分布情况等,。
6.2. 缺陷列表
Id | State | Severity | Fldcolumn | Description |
EPA00000014 | Closed | 一般 | 传感器 | 函数SendAndRece输出错误结果 问题描述 输入参数:LF发送,LM接受,ucDirect为1;假定TMR0计数值为5,g_LLength为40; 预期结果:44 实际结果:65535
|
…… |
|
|
|
|
7. 测试结论
说明测试的结果,通过或不通过,测试的基线等