商品仓库管理系统测试报告一.引言1.背景本测试计划从属于商品存储配送物流管理系统。
用户为中、小规模超市、商场、公司。
执行本测试前,已完成软件计划,需求分析,设计及编码工作。
2.参考文档需求分析文档,概要设计文档,详细设计文档,测试计划文档,程序清单。
二.软件说明1.本软件的主要功能为:(1) 对商品入库和出库详细情况进行登记(2) 对商品出库安排车辆信息进行登记(3) 对库存信息进行高级查询(4) 对运输信息进行查询(5) 对客户信息进行登记(6) 对客户信息进行查询(7) 按照要求自动生成统计清单(8) 按照要求对所需清单进行打印(9) 实现数据库的断开、连接、备份(10) 对使用者进行管理2.条件与限制:⑴考虑到本软件面向的用户群比较广泛,在设计时应注意使软件具有较强的可移植性;⑵因本软件管理的某些信息属商业机密,必须注意信息的安全防范,同时应以标准的数据格式来实现,以方便数据共享;三.测试步骤本次测试采用黑盒法。
主要依据需求分析文档和测试计划文档,以需求分析文档中的功能模块为单位,对提交的成型系统进行测试。
综合使用等价类划分法和其它方法。
详细测试步骤如下:四.单元测试(各类函数)利用Visual Studio 2005中自带的单元测试功能进行单元测试,测试各个类中的函数。
按要求输入,测试与预期的结果是否吻合,如果不吻合则单元测试结果将显示失败或者出错提示,若成功则单元测试结果将显示“通过”,如下。
表1 单元测试序号测试函数名函数功能是否成功是否更正是/ 1 GetUserRole 从用户输入的用户名和密码判断用户的类型2 DBNavigator DBNavigator用于在数据集是/进行记录导航,当用户单击DBNaVigator的某个按钮时,可实现记录指针的前移、后移,插入‘删除、修改当前记录等操作,而无须编写任何程序代码。
是/ 3 Active 通过设置Active的属性:false 和 true,实现视口中表的刷新功能4 Preview 将数据库中的kc表中的数是/据打印出来5 ParamByName 通过入库单号,将数据库否是rk表中的的相应内容显示出来1.测试loginform类下的函数Tloginform.loginClick(Sender: TObject); loginform函数声明如下:varsqlstr:string;quanxian:string;beginsqlstr:='select * from users where users=:users and passwords=:passwords';函数预期实现的功能:依据用户输入的用户名和密码判断用户的类型。
输入:在unit1.pas的Tloginform.loginClick(Sender: TObject);函数的首行添入如下代码:tryADOQuery1.SQL.Add(sqlstr);adoquery1.Parameters.ParamByName('users').Value:=edit1.Text; //必须确定属性字段adoquery1.Parameters.ParamByName('passwords').Value:=edit2.Text;ADOQuery1.Open;if (ADOQuery1.RecordCount = 0) thenbeginmessagedlg('请输入正确的用户名和密码',mtError,[mbok],0 );exit;end;excepton e:erangeerror doshowmessage('用户名或密码错误');end;beginif (LeftStr(edit1.Text,2)='YB') thenmenumangerform.Showelsechaxun.Show;end;end;测试结果:通过2.测试Tmenumangerform中的insertClick(Sender: TObject)函数声名如下:Procedure.menumangerform.insertClickClick(Sender: TObject);函数预期实现的功能:对货物信息进行增删改查的操作。
procedure Tmenumangerform.insertClick(Sender: TObject);varsqlstr:string;beginADODSt.open;ADODSt.Insert;save.Enabled:=true;cancel.Enabled:=true;insert.Enabled:=false;end;测试结果:通过。
3.测试TCostmangerform中的Button1Click (Sender: TObject),TCostmangerform函数声名如下:procedure TCostmangerform.Button1Click(Sender: TObject);函数预期实现的功能:对货物数量进行修改。
输入:adosp1.Parameters[0].Value:=ComboBox1.Text;期望输出:flag:=true;adosp1.Next;测试结果:通过。
4.测试TSchaxun中的Button1Click,函数声明如下:procedure TSchaxun.Button1Click(Sender: TObject);函数预期实现的功能:对货物的基本信息进行查询。
输入:case sVlaue of0: sqlstr:='select * from Student,Grade where Student.Num='''+edit1.text+''' and Student.Num=Grade.Num';期望输出:查询的相关信息5.测试TSchaxun 中的Button1Clickprocedure Tchaxun. Button1Click (Sender: TObject); 测试结果:通过。
6.测试TSchaxun 中的Button3Click 。
procedure Tchaxun. Button3Click (Sender: TObject); 期望输出:打印相应信息表 测试结果:通过。
五、集成测试本系统的集成测试重点是页面间的跳转以及页面之间的参数传递是否通过。
对于页面之间的跳转测试,主要测试点击本系统中的各个页面的导航链接和功能跳转按钮提示是否跳转到相应的页面;对于参数传递的测试,主要测试页面间传递参数所长生的结果是否通过。
1、页面跳转测试表 2 页面跳转测试表 3 参数传递测试结果序号 参数传递链接 所在页面 预期结果 测试结果 发现问题 1 新建入库 From2 货名,单位,数量,价格等均为空白通过2 库存管理 From4 货名,单位,数量,价格等信息均与数据库中的信息相同通过3 删除库存 From6 删除相应的库存信息 通过4 查询货物单号 From17 查询到相应货物的货物单号 不通过 输入查询信息后,点查询,没有反映六、系统测试本系统的测试包括两个方面:一是功能测试,二是性能测试。
1、 对功能的测试以下根据《仓库物流系统设计说明书》所列出的各功能模块,对于有些数据库中表内的数据项有直接的关系,且数据项对其类型有较高的要求的功能模块,序号 跳转链接 所在页面 测试结果 测试时间 1 货物入库 unit2.dfm 通过 2013.5.28 2 货物出库 Unit6.dfm 通过 2013.5.28 3 库存管理 Unit4.dfm 通过 2013.5.28 4 库存统计 Unit9.dfm 通过 2013.5.28 5 查询仓库 Unit17.dfm 不通过 2013.5.28 6 打印 Unit7.dfm 通过 2013.5.28 7 用户管理 Unit14.dfm 通过 2013.5.28在功能测试设计之后进行了详细的测试,以保证这些模块对数据通过性的要求。
功能测试设计表4 功能测试设计表编号功能名称功能描述输入/需要输出/结果测试结果发现问题测试时间1 登入登出用户身份限制用户名、密码、权限成功登入或显示错误通过2013.5.102 新建库存管理员新建一条库存信息货名,单位,数量,价格等新建了一条库存信息通过2013.5.103 删除库存管理员删除一条库存信息单击选中一条信息,再单击删除按钮删除了相应的库存信息通过2013.5.104 修改库存信息管理员可对库存信息信息进行修改新的库存信息“kc”表中的相应信息被更改通过2013.5.105 库存查询员工可对仓库信息进行模糊查询查询信息显示查询的相应信息不通过显示所有信息2013.5.106 打印对需要的信息表打印需要的信息打印出相应的表通过2013.5.107 断开/连接数据库一键断开或者连接数据库选择相应功能断开/连接数据库通过2013.5.10错误:库存查询中:ADOQuery1.SQL.Add('SELECT * FROM rk');由于没有填写相应的条件限制语句,所以不管怎么查询,最后显示的是所有的信息。
经修改:添加条件限制语句:ADOQuery1.SQL.Add('where 入库单号=:ss ' ); / ADOQuery1.SQL.Add('where 货名=:ss ' );错误得到修改。
下面是对某些严格要求数据正确性的模块的测试设计及测试结果,对于这些模块采用了等价类划分的测试方法。
1.“登入登出”功能的测试设计表5 等价类划分输入条件有效等价类编号无效等价类编号用户名用户名与数据库中的用户名一致1用户名与数据库中的用户名不一致3密码密码与数据库中的密码一 2 密码与数据库中的密 4致码不一致表6 测试用例设计用例编号输入预期输出覆盖范围用户名密码1.1 1 1 成功登录到管理员系统1,21.3 zz 1 登录失败 31.4 1 2222 登录失败 4表7 测试结果记录用例编号预期结果实际结果测试结果测试日期测试人1.1 登录成功登录成功通过2013/6/3 张效1.3 登录失败登录失败通过2013/6/3 张效1.4 登录失败登录失败通过2013/6/3 张效2.“添加库存信息”功能的测试设计表8 等价类划分输入条件有效等价类编号无效等价类编号入库单号长度在1~10之间 1 长度为0,即空7 长度大于10 8货名长度在1~20之间 2 长度为0,即空9 长度大于20 10数量长度在1~10之间 3 长度为0,即空11 长度大于10 12时间日期类型 4 长度为0,即空13 非日期类型14单位长度在1~10之间 5 长度为0,即空15 长度大于10 16价格长度在1~10之间 6 长度为0,即空17 长度大于10 18表9 测试用例设计用例编号入库单号货名数量时间单位价格预期输出覆盖范围2.1 10001 书150 2013/2/3 本32 添加信息成功1,2,3,4,5,62.2 空书150 1987/2/3 本32 添加信息失败72.3 *****(长度超过10)书150 1987/2/3 150 32添加信息失败82.4 10001 空150 1987/2/3 150 32 添加信息9表10 测试结果记录用例编号预期结果实际结果测试结果测试日期2.1 添加信息成功添加信息成功通过2013/6/42.2 添加信息失败添加信息成功不通过2013/6/42.3 添加信息失败添加员工信息失败通过2013/6/42.4 添加信息失败添加员工信息成功不通过2013/6/4失败2.5 10001 *****(长度超过20)150 1987/2/3 150 32添加信息失败102.6 10001 书空1987/2/3 150 32 添加信息失败112.7 10001 书*****(长度超过10)1987/2/3 150 32添加信息失败122.8 10001 书150 空150 32 添加信息失败132.9 10001 书150 八七年150 32 添加信息失败142.10 10001 书150 1987/2/3 空32 添加信息失败152.11 10001 书150 1987/2/3 *****(长度超过10)32添加信息失败162.12 10001 书150 1987/2/3 150 空添加信息失败172.13 10001 书150 1987/2/3 150 *****(长度超过10)添加信息失败182.5 添加信息失败添加员工信息失败通过2013/6/42.6 添加信息失败添加员工信息失败不通过2013/6/42.7 添加信息失败添加员工信息失败不通过2013/6/42.8 添加信息失败添加员工信息失败不通过2013/6/42.9 添加信息失败添加员工信息失败不通过2013/6/4错误:数据库中相关表信息中,一些字段没有设置为不能为空。