《软件工程课程设计编码与测试[借鉴]》由会员分享,可在线阅读,更多相关《软件工程课程设计编码与测试[借鉴](12页珍藏版)》请在金锄头文库上搜索。
1、淮海工学院计算机工程学院 实 验 报 告 书 课 程 名 :软件工程 题目:图着色理论在仓库系统中的应用 编码和测试 班级:网络 122 学号: 83 姓名:叶婷 评语: 成绩:指导教师: 批阅时间:年月 日 1 1、实验目的与要求 ( 1)选定项目中以模块,给出详细设计结果与C语言代码, 对其使用白盒和黑盒测试技 术设计若干测试用例。然后,使用测试用例进行实际测试操作实验,并给出测试结果; ( 2)了解一些典型的自动化测试软件和方法,建议有条件可下载、安装Mercury Interactive公司的负载测试工具LoadRunner、功能测试工具WinRunner 和测试管理工具 TestDi
2、rector;IBM-Rational公司的测试套件Rational Suite TestStudio的 Rational Robot、Rational TestManagerhe、Rational Quantify等工具。 2、实验内容 一、编码 1. 1系统界面设计描述 当用户启动程序后真接显示主界面,在主界面中有用户管理, 商品入库 , 商品出库 , 库存管理以及退出系统。 当用户在未登录的状态下执行任何操作时系统会自动判断是否已经登录,若用户还没有登录则 显示登录界面,让用户进行登录。若登录的帐号不存在则表示该用户还不是员工,故需要用户重新 申请新的用户,新用户的类型为普通员工,当普通
3、用户已经通过管理员审核,并且分配了相关的权 限后就可以登录系统。 若用户是管理员则该用户可以对普通用户进行相关的修改和删除,而且还可以修改、查询、删 除库存表及商品出入库表中的相关信息。若用户是普通员工则只能进行商品的出入库及查询。 1.1.1登录界面设计 用户通过输入登录的账号和密码及类型系统进行验证 1.1.2商品出入库界面设计 2 1.1.3库存界面设计 编码 1.2.1登录界面(主要代码) public boolean isExistsEmply(String id) boolean flags=false; try int count=0; String sql1=select 员工
4、号 from Users where 员工号 =; PreparedStatement ps=(sql1); (1, (String)id); ResultSet result=(); while() 3 count=(); (); (); if (count0) =id; flags=true; getInfo(id); return flags; else (String)id); catch(Exception e) (); return flags; oString().trim(); password=(2).trim(); employtype=(3).toString().tri
5、m(); emplooy=(4).toString().trim(); (); (); catch(Exception e) (); . .); (); isE=true; return isE; else if 否) (UID); return isE; 4 return isE; 1.2.2出库界面(主要代码) public Object setSdata2() try String sql2=select * from OutStore; Statement st=(); ResultSet result=(sql2); Sdata2=new ObjectRow2Column2; int
6、 n=0; while() Sdata2n0=(1).toString().trim(); Sdata2n1=(2).toString().trim(); Sdata2n2=(3).toString().trim(); Sdata2n3=(4).toString().trim(); Sdata2n4=(5).toString().trim(); Sdata2n5=(6).toString().trim(); n+; (); (); return Sdata2; catch(Exception e) (); return Sdata2; oString().trim(); newStoreOfO
7、ut2=(3).toString().trim(); newStoreOfOut3=new Integer(4); newStoreOfOut4=(5).toString().trim(); newStoreOfOut5=(6).toString().trim(); (); (); return newStoreOfOut; catch(Exception e) (); 5 return newStoreOfOut; 1.2.3入库界面 public Object setSdata() try String sq2=select * from InStore; Statement st=();
8、 ResultSet result=(sq2); Sdata=new ObjectRowColumn; int n=0; while() Sdatan0=(1).toString().trim(); Sdatan1=(2).toString().trim(); Sdatan2=(3).toString().trim(); Sdatan3=(4).toString().trim(); Sdatan4=(5).toString().trim(); Sdatan5=(6).toString().trim(); n+; (); (); return Sdata; catch(Exception e)
9、(); return Sdata; oString().trim(); newRow2=(3).toString().trim(); newRow3=new Integer(4); newRow4=(5).toString().trim(); newRow5=(6).toString().trim(); (); (); 1.2.4oString().trim(); Sdatan1=(2).toString().trim(); Sdatan2=(3); n+; 6 (); (); return Sdata; catch(Exception e) return Sdata; public void
10、 init() 1.1.1分析研究报告可以使软件开发团体尽可能早的估计研制课题的可行性, 可以在定义 阶段较早的认识到系统方案的缺陷, 可以节省时间、 财力和精力 , 并且避免了专业方面的困难. 及早地 预测项目的可行性,在可行的前提下获得最好的实施方案。 1.1.2背景 本测试计划从属于商品存储管理系统。用户为中、小规模超市、商场。执行本测试前, 应完成软件计划,需求分析,设计及编码工作。 1.1.3参考资料 需求分析文档,概要设计文档,详细设计文档,测试计划文档,程序清单。 李东生、崔冬华等编著的软件工程原理、方法和工具 测试结果及发现 本次测试采用黑盒法。主要依据需求分析文档和测试计划文
11、档,以需求分析文档中的 功能模块为单位,对编码人员提交的成型系统进行测试。综合使用等价类划分法和其它方法。 1.2.1测试步骤 身份验证。功能为: (1)对登录系统的用户进行身份合法性检查,要求输入帐号和密码。禁止身份信息不正确的用 户登录; (2)当输入密码错误次数超过一定限制时(初定为3 次)将自动关闭系统,以防止非法穷举入 侵; (3)将成功的登录操作记入操作日志文件 1 有效等价类:输入为用户信息表中保存的用户名和对应的密码。测试用例为: 等价类 编号 用户名 密 码 输出 1曹冰洁 cb j “登录正 确” 2李媛媛ly“登录正 7 y确” 3罗曼lm “登录正 确” 4熊婷xt “
12、登录正 确” 5詹求芝 zq z “登录正 确” 6 系统管 理员 a7 05 “登录正 确” 符合预期结果。 通过“查询”功能检查操作日志,发现已登记以上“登录数据库”操作及相应用户名密码。 符合预期结果。 2无效等价类: (1)用户名不在用户信息表中,密码在用户信息表中。测试用例为: 用户名:曹冰 密码: cbj 点“确定”后,弹出“用户名和密码错误”对话框。 符合预期结果。 (2)用户名在用户信息表中,密码不在用户信息表中。测试用例为: 用户名:曹冰洁 密码: cb 点“确定”后,弹出“用户名和密码错误”对话框。 符合预期结果。 (3)用户名和密码均在用户信息表中,但两者不匹配。测试用例
13、为: 用户名:曹冰洁 密码: zqz 点“确定”后,弹出“用户名和密码错误”对话框。 符合预期结果。 连续输入错误达3 次时,登录对话框自动关闭。 符合预期结果。 商品入库登记。功能为: (1)由条形码检测设备读入商品包装上的条形码,系统根据条形码搜索数据库中的商品信息文 件,检查该商品基本信息是否已作登记; (2)若该商品信息未作登记,则填写该商品详细信息单,并提交给数据库,写入商品信息文件, 再填写入库单; (3)若该商品信息已作登记,则直接填写入库单; (4)检查入库单的合法性:即检查表单中的输入信息是否具有非法字符,商品来源(供应商信 8 息)是否合法; (5)若检查结果不合法,提示操
14、作员重新输入;若检查结果合法,则根据申请内容对商品库存 信息文件和入库文件进行更新,打印入库凭证,完成商品入库操作; (6)将成功的入库操作写入操作日志文件; 相关操作说明: 在主界面点“入库”按钮后,弹出“入库信息”对话框。“时间”框中将自动显示当前的系统时 间,作为商品入库时间。 “商品号”框待输入信息。其它框均为不可编辑状态。现向“商品号”框中 输入一长度为12 的数字字符串, 模拟由条码读取设备读入的商品条码。假设实际使用环境中条码设 备不会出错, 即总是读出12 位数字串, 所以不必检查 (模拟读入的) 商品号的有效性。 此时若点 “添 加”按钮,弹出对话框“请先运行查询操作!” ,
15、表示应先检查此商品基本信息是否已登记。因此测 试中越过这一步,直接点“查询”按钮。 按商品信息是否已登记,分两种情况: 情况一: (模拟)读入的商品号已在商品信息表中,弹出对话框:“该商品已存在,请输入入库时的必要 信息!” 。 “供应商号” , “类型”, “商品名”, “存放地点”框中将显示此商品号在商品信息表中对应的属 性值。 “最大量”, “最小量”框中将显示此商品号在库存信息表中对应的属性值。余下的“入库量”, “有效期”, “采购员”由用户填写。 测试用例: 商品号: 0001,点“查询”按钮,可得以上相关信息。经检查,各显示属性与数据库中的值一 致。 1有效等价类: “入库量”为
16、正整数, “有效期”为yyyy-mm-dd 格式的日期,“采购员”为任意字符串(采购 员名)。 对上面的测试用例(商品号0001) ,输入信息为: 入库量: 10;有效期: 2006-01-01 ;采购员:李 输出:“添加成功” 经检查,数据库相关表都正确更新。符合预期结果。 2 无效等价类: (1) “入库量”不是正整数。 输出:“入库量应为正整数! ” 。 符合预期结果。 (2) “入库量”为空。 输出:“入库量不可为空! ” 。 符合预期结果。 (3) “入库量”是正整数,但大于“最大量”框中的值。 输出:“入库量不能大于最大量!” 。 9 符合预期结果。 (4) “入库量”是正整数且小于“最大量”框中的值。但“采购员”和(或)“有效期”为空。 输出:“入库信息不能有一项为空!” 符合预期结果。 (5) “入库量”是正整数且小于“最大量”框中的值。