软件工程课程设计-网上书店_第1页
软件工程课程设计-网上书店_第2页
软件工程课程设计-网上书店_第3页
软件工程课程设计-网上书店_第4页
软件工程课程设计-网上书店_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件工程》课程设计小组报告课程设计题目:网上书店专业:班级:2**4级组长:完成起止日期:2015-10-6至2015-12-25

小组完成任务情况统计表(占用一页)学号姓名项目角色任务完成情况简评组内评分签字联系方式1301170437主程序员完成情况好,协调小组工作进程1302270503辅助程序员能较快完成工作,完成情况好1301170504辅助程序员工作认真,完成情况好1301061439素材文档员能较好的完成实验报告以及文档保管工作网页设计员进行网页的设计一、课程设计概述(目的、任务及分工情况、开发环境、参考资料)1、目的通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;熟悉自动化的软件开发工具RationalRose,并将其运用于软件开发的全过程;进一步加强和提高软件工程文档的编写能力;培养协作能力和团队精神。该系统管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。查看图书调查报告、游客可以在线注册为会员、投票、购书。本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。2、任务及分工情况任务:采用不同的软件开发技术,完成对软件开发项目的需求分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。分工情况:每人分担不同的任务,组长作为主程序员全面协调小组工作,负责整个项目开发工作、网站需求分析、系统测试与调试和小组文档核查等工作;**,***作为辅助程序员主要负责网站结构设计与前台程序的开发等工作,以及负责网站数据库设计与后台程序的开发等工作;***文档管理员主要负责完成课程设计小组最终报告、小组电子文档管理和帮助系统开发等工作;**涛作为网页设计员主要负责美工、网页设计与实现等工作。3、开发环境系统名称:《网上书店管理系统》需求背景分析:随着互联网的迅速发展以及我国经济的稳定平衡发展,人们对于知识的追求也越来越高,因而市场场上出现了各类的图书,但由于各种各样的原因使得消费者在选购图书的时候不能找到自己合意的书籍,同时由于网络经济的迅速发展激生出了网上卖书的现象,由于网上书店里面的图书相当丰富,且价格较市场上的书店里的便宜,以致于越来越多的人上网购书,同时也使得越来越多的人在网上开设自己的书店,本系统即是在以上各种条件成熟的条件下,建立的一个可以让消费者登录本系统购买他们的图书的一个网上书店管理系统、系统用途:本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和卖书的行为,同时大大减少的人员的参与。系统使用范围:网上想买书者。4、参考资料①《实用软件工程》(第二版)陆慧恩张成姝编著清华大学出版社②《软件工程设计》吕云翔刘浩王希鹏周建编著机械工业出版社③《ASP.NET网络应用开发例学与实践》郭常圳李云锦编著清华大学出版社④《ASP.NET2.0(C#)基础教程》李勇平编著清华大学出版社二、项目的需求分析过程及需求模型1、可行性分析可行性研究是系统分析阶段的第二项活动。此活动的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。通过调查分析,新系统设计方案有以下三个可行性:1.技术可行性:本系统采用Windows作为操作平台。数据库系统选用SQLserver2005,该数据库管理系统提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的开发平台选用visualstudio2005,这是目前web数据库应用软件的主流开发平台。2.经济可行性:采用新的网上书店可取代原系统的工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期提高员工信息的利用率,使销售质量更上一个台阶。3.营运可行性(1).本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。(2).面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。2、系统需求分析1.总体需求建立对图书提供全面管理信息的系统对所有的图书,客户提供全面管理对图书详细信息提供管理。2.功能需求在Internet,客户可通过IE或其他浏览器浏览书目信息;在互联网,可提交订单;具有购物车功能;客户能通过书名来检索书籍;客户可在网上进行注册,成为会员;客户能查看当前订单和以往订单;书店员工能查找客户联系信息;书店员工在发货后能改写订单中的发货日期。3.性能需求网上书店系统与相关单位的链接;系统可以对图书的库存进行统计;易于维护和扩充;系统界面设计友好,操作方便、灵活;具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务;具有保密机制,各级使用者只能看到允许查看的系统信息;三、项目设计模型(包括总体设计和详细设计),重点阐述采用的主要方法与技术1、总体设计项目规划:网上书店管理系统是一个典型的web数据库开发应用程序,由前台图书展示及销售、后台管理两部分组成。1.1、前台商品展示及销售:该部分主要包括新书上架、购物车、会员管理、图书公告及订单查询、图书查询等。1.2、后台管理:该部分主要对商城内的一些基础数据进行有效管理,包括图书管理、会员管理、订单管理、公告管理等。运行环境规定程序版本项目详细操作系统WindowsXP数据引擎MicrosoftSqlServer2005权限要求对SqlServer数据库具有建表、备份的权限对SqlServer数据库具有建表、备份的权限硬件要求双XEON2.4GCPU1G内存RAID5数据冗余磁盘阵列或更高开发工具:数据库MicrosoftSqlServer2005开发工具Visualstudio20052、概要设计2.1功能分析层次图:网上书店管理系统网上书店管理系统首页首页购物车订单管理会员管理收银台图书展台购物车订单管理会员管理收银台图书展台会员注册填写订单信息移出购物车添加至购物车图书分类浏览新书上架书上架清空购物车购书结账会员登录会员登录修改订单查询会员注册填写订单信息移出购物车添加至购物车图书分类浏览新书上架书上架清空购物车购书结账会员登录会员登录修改订单查询查看购物车2.2数据库结构设计网上书店管理系统从管理员,用户(会员)出发,通过注册会员实现对图书的购买及款项的交付。其中通过对图书的分类查询来获取自己需要的图书,因而确定图书的分类表,通过对图书的分类,可以实现对实际图书的管理,进而确定有了图书的详细介绍表即图书表;但在消费者买书的时候需要将自己的订单整理好放到订单表中,故而有了用户的订单表,这是在确定订单的时候用的表,而之前则有一个购物车表,使得用户在网站浏览的时候能将自己喜欢的图书暂时保存在自己的购物车表中,将确定是否购买时,可以将自己不购买的图书随时移出购物车。还有就是在消费者买完图书后,卖家为了获得消费者们的评价,以及是否还需要在进这种书时,专门有一个用户评价的表格来表明消费者们对哪类书感兴趣,进而随时改变销售策略。3、表的详细设计:书籍的类别表:Category书籍的详细信息列表:消费者的注册信息列表:消费者的订单列表:消费者的订单书籍详细信息列表:消费者的购物车信息列表:消费者对于购买的书籍的评价列表:它们的数据之间的关系如图所示:通过对以上设计图的步骤分析,可以使购买者快速方便的学会在网上购书的流程。3、设计测试方案:为保证系统的数据安全性,进入本系统购书时需要使用自己的账号,密码,这样在以后的购书过程中就无需再输入账号或密码了,节省了很多时间。本系统功能模块主要有三个:游客注册成为会员,将购买的书籍放进自己的购物车,结账等待收书。4、用例图a、管理者用例:1.登录:管理员登录。图表a.1管理者登录用例图2.订单管理:包括对订单的增加删除以及查询订单功能。图表a.2管理者对订单管理用例图3.图书管理:对图书的查询(通过年份、书名、作者查询)、删除、添加以及对图书的修改。图表a.3管理者对图书管理用例图4.用户管理:对用户的查询,删除用户。图表a.4管理者对用户管理用例图客户用例图1.登录:用户登录。图表b.1客户登录用例图2.订单管理:让用户可以对自己订单进行查看、撤销、订单的查询、订单的日期查询、修改订单等等。图表b.2客户对订单管理用例图3.图书选购:通过刘丹图书的信息,当需要购买时创建购物车,通过购物车来进行对图书进行浏览、删除以及订单的生成和数量的修改等等。图表b.3客户图书选购用例图4.注册:用户的注册。图表b.4客户注册用例图5、详细设计5.1系统界面设计①进入网站显示的界面当用户在URL中输入本网站管理系统的地址后,进入到本网站首页,若不想买书只是看看则是作为游客身份,这时可以看到网站推荐的最新书籍的信息,以及其他图书的信息。然而只能浏览,不能购买。若想买书则需要注册成为会员身份。②注册登陆界面注册登陆界面的主要功能就是让购书者将自己的信息写入数据库存储起来,当用户确认买书时,售书者根据用户的注册信息将用户所购买的书籍发送到用户注册的地址。③书籍列表界面及详细详细书籍介绍界面此界面通过对书籍的详细介绍使得用户对自己购买的书籍有一详细的了解。同时可以扩大自己对其他图书的了解,进一步购买做准备。④购物车页面:此模块的主要功能是充当一个仓库,不过此仓库装的是想要购买的书籍,用户在网站浏览时可以随时将自己喜欢的图书放进进购物车,最后付账时可以将自己不买的图书移除购物车。⑤账户页面此页面主要是记录了会员购买的图书的列表,以及自己的总花费。可以让会员实时的知道自己的账单。⑥查找页面此模块的主要功能是方便用户快速的找到自己需要的书籍,不必未来会寻找而烦心。⑦评论页面此模块的主要功能为用户对自己购买的书籍作出评价,一方面让网站管理人员知道自己卖的书籍的好坏,一方面扩大自己网站的知名度。5.2测试用例设计每个系统都要有一定数量的测试用例来测试系统是否符合用户的要求,此书店管理系统也不例外。网上书店管理系统采用管理员admin极普通会员作为测试用例。四、实现项目的过程与步骤整个开发过程经历两个阶段,即两次迭代:第一阶段:设计并实现网上书店系统;第二阶段:根据第一阶段的经验,设计并实现书店管理系统;1第一阶段计划工作内容起止时间工作量(人天)人员分工说明<任务1>阶段一之前期调研阶段2015-10-06至201-10-125×6全组画出用例图,确定需求,尤其是重要需求<任务2>阶段一之需求分析2015-10-13至2015-10-205×7全组根据已经确定的需求,展开分析。确定模块划分。<任务3>阶段一之总体设计2015-10-22至2015-10-295×7全组模块的总体设计<任务4>阶段一之详细设计2015-11-3至2015-11-105×7全组根据总体设计进行详细设计,包括数据库设计<任务5>阶段一之编码及模块测试2015-11-15至2015-11-255×10全组所有模块以及数据库的编码和模块测试<任务6>阶段一之集成测试2015-12-02至2015-12-175×15全组继承测试,整理工作产品并提交2第二阶段计划待定3风险估计由于组员还是学生,有各自的日常工作以及其他课程,因此在网上书店项目的的投入时间十分有限,这是本项目的最大风险,必须加以注意。4预算软件资金投入较少,具体预算分配简略。支持条件计算机WindowsXPMicroSoftVisual2005五、遇到的困难与获得的主要成果1主要问题:①网站的安全性:保证管理者和注册用户的密码安全,分权限管理,数据库访问控制;管理员应具有一定网络安全及防黑知识。②网站可维护性:网站管理者须懂得一定的服务器应用、ACCESS数据库应用、硬件维护、IIS配置等方面的技能。③网站的灵活性:系统应该具有良好的功能可扩充性,以应对未来用户的更高的要求。④故障处理:系统运行中难免出现一些故障,对此我们提出以下建议和要求: 对用户提交的重要资料及时备份。(如:当用户修改注册资料时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复。) 做好数据库和服务器的日常维护工作,出现故障时可与我们联系由我们帮助解决。2主要成果:游客进入系统使得首页如图所示:publicpartialclassBookList:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(string.IsNullOrEmpty(BookTypeID))return;if(!IsPostBack)BookList1.PageIndex=1;BindBookList(BookTypeID,BookOrderByFields.DateAdded);BookList1.LblSearchCondition.Text="搜索类别:"+BookTypeName;}}privatestringBookTypeIDget{if(BookTypeTreeNavigationExpanded1._SelectedNode==null)if(Request.QueryString["BookTypeID"]==null)returnnull;returnRequest.QueryString["BookTypeID"].ToString();}else{returnBookTypeTreeNavigationExpanded1._SelectedNode.Value}}}privatestringBookTypeName{get{if(Request.QueryString["BookTypeName"]==null)returnnull;returnUri.UnescapeDataString(Request.QueryString["BookTypeName"].ToString());}}2会员的登录注册信息如图所示:主要代码如下:protectedvoidRegisterClick(objectsender,EventArgse){if(!Page.IsValid)return;BookShopOnline.Model.Useruser=newUser();user.RoleID=(int)Role.RegisterUser;//必填项user.UserName=RegisterUser1.TxtUserName.Text;user.UserPwd=RegisterUser1.TxtUserPwd.Text;user.Email=RegisterUser1.TxtEmail.Text;//选填项user.RealName=RegisterUser1.TxtRealName.Text;user.PostalCode=RegisterUser1.TxtPostalCode.Text;user.Phone=RegisterUser1.TxtPhone.Text;user.Address=RegisterUser1.TxtAddress.Text;intresult=newUserBll().InsertUser(user);if(result==-2){RegisterUser1.LblMsg.Text="注册失败!该用户名已存在。";return;}if(result==-3){RegisterUser1.LblMsg.Text="注册失败!该Email已存在。";return;if(result==1){Response.Redirect("RegisterResult.aspx?BackUrl="+hyperFromUrl.NavigateUrl);}}else{RegisterUser1.LblMsg.Text="注册失败!检查输入并重试。";}}3图书分类及列表信息:如图所示:主要代码如下:protectedvoidPage_Load(objectsender,EventArgse){if(string.IsNullOrEmpty(BookTypeID))return;if(!IsPostBack){BookList1.PageIndex=1;BindBookList(BookTypeID,BookOrderByFields.DateAdded);BookList1.LblSearchCondition.Text="搜索类别:"+BookTypeName;}}privatestringBookTypeID{get{if(BookTypeTreeNavigationExpanded1._SelectedNode==null){if(Request.QueryString["BookTypeID"]==null)returnnull;returnRequest.QueryString["BookTypeID"].ToString();}else{returnBookTypeTreeNavigationExpanded1._SelectedNode.Value;}}}privatestringBookTypeName{get(if(Request.QueryString["BookTypeName"]==null)returnnull;returnUri.UnescapeDataString(Request.QueryString["BookTypeName"].ToString());}以下为图示的详细信息页面:4查找图书页面如下:主要代码为:protectedvoidPage_Load(objectsender,EventArgse){BookDBbookDB=newBookDB();MyList.DataSource=bookDB.SearchProductDescriptions(Request.Params["txtSearch"]);MyList.DataBind();if(MyList.Items.Count==0){ErrorMsg.Text="Noitemsmatchyourquery";}此文档仅描述以上几个页面,其他的在运行系统时可以一一调试运行显示。六、测试与运行记录(要求针对某个功能利用某种测试方法进行全面的测试)测试用例设计原则:

1.测试用例的代表性:能够代表并覆盖各种合理的和不合理的、合法的和非法的、边界的和越界的以及极限的输入数据、操作和环境设置等。

2.测试结果的可判定性:即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。

3.测试结果的可再现性:即对同样的测试用例,系统的执行结果应当是相同的。1测试用例设计网上书店--等价类划分方法

一.方法简介:

1.定义

是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

2.划分等价类:

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

1)有效等价类

是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

2)无效等价类

与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。3.划分等价类的标准:

1)完备测试、避免冗余;

2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;

3)并是整个集合:完备性;

4)子集互不相交:保证一种形式的无冗余性;

5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。4.划分等价类的方法:

1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;

3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

5.设计测试用例:

在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

1)为每一个等价类规定一个唯一的编号;

2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。二.实战演习:输入条件有效等价类无效等价类用户名:Username首字符字母(1)非字母(2)其他字符组成字母或数字(3)非字母或数字(4)字符数4~10个(5)<4个(6),>10个(7)密码:Password字符组成字母或数字(8)非字母或数字(9)字符数6~15个(10)<6个(11),>15个(12)××编号/××数量:ID_××/Count_××字符组成数字(13)非数字(14)位数1~10位(15)0位(16),>10位(17)××日期:Date_××字符组成四位数字"-"两位数字"-"两位数字(18)非前述组成(19)月部分数值在1~12之间(20)0或>12(21)日部分数值在1~31之间(22)0或>31(23)原价/售价/总价/×金:Price/Cost/TotalCost/Money_××/Finance_××字符组成数字("."数字)(24)非前述组成(25)小数点后位数0~2位(26)>2位(27)书名/出版商/作者:BookName/Publisher/Author字符数0~100(28)>100(29)图片路径:PicturePath字符数0~200(30)>200(31)内容简介:Comment字符数0~500(32)>500(33)推荐程度:RecomLevel字符组成数字(34)非数字(35)数值0~5(36)非0~5(37)分类:classify字符组成数字(38)非数字(39)数值0~4(40)非0~4(41)输入条件有效等价类无效等价类用户名:Username首字符字母(1)非字母(2)其他字符组成字母或数字(3)非字母或数字(4)字符数4~10个(5)<4个(6),>10个(7)密码:Password字符组成字母或数字(8)非字母或数字(9)字符数6~15个(10)<6个(11),>15个(12)××编号/××数量:ID_××/Count_××字符组成数字(13)非数字(14)位数1~10位(15)0位(16),>10位(17)××日期:Date_××字符组成四位数字"-"两位数字"-"两位数字(18)非前述组成(19)月部分数值在1~12之间(20)0或>12(21)日部分数值在1~31之间(22)0或>31(23)原价/售价/总价/×金:Price/Cost/TotalCost/Money_××/Finance_××字符组成数字("."数字)(24)非前述组成(25)2测试用例设计网上书店--边界值分析方法

一.方法简介:

1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

2.与等价划分的区别

1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。3.边界值分析方法的考虑:

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。4.常见的边界值

1)对16-bit的整数而言32767和-32768是边界

2)屏幕上光标在最左上、最右下位置

3)报表的第一行和最后一行

4)数组元素的第一个和最后一个

5)循环的第0次、第1次和倒数第2次、最后一次5.边界值分析

1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

例:测试计算平方根的函数

--输入:实数

--输出:实数

--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

2)等价类划分:

I.可以考虑作出如下划分:

a、输入(i)<0和(ii)>=0

b、输出(a)>=0和(b)Error

II.测试用例有两个:

a、输入4,输出2。对应于(ii)和(a)。

b、输入-10,输出0和错误提示。对应于(i)和(b)。

3)边界值分析:

划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

a、输入{最小负实数}

b、输入{绝对值很小的负数}

c、输入0

d、输入{绝对值很小的正数}

e、输入{最大正实数}

4)通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。

5)相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、

最短/最长、空/满等情况下。

6)利用边界值作为测试数据

项边界值测试用例的设计思路字符起始-1个字符/结束+1个字符假设一个文本输入区域允许输入1个到255个字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值。数值最小值-1/最大值+1假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的数值来作为边界条件。空间小于空余空间一点/大于满空间一点例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件。7)内部边界值分析:

在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。

内部边界值条件主要有下面几种:

a)数值的边界值检验:计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。项范围或值位(bit)0或1字节(byte)0~255字(word)0~65535(单字)或0~4294967295(双字)千(K)1024兆(M)1048576吉(G)1073741824

b)字符的边界值检验:在计算机软件中,字符也是很重要的表示元素,其中ASCII和Unicode是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。字符ASCII码值字符ASCII码值空(null)0A65空格(space)32a97斜杠(/)47Z90048z122冒号(:)58单引号(‘)96@64

c)其它边界值检验

6.基于边界值分析方法选择测试用例的原则

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。

3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。

例如,某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。

再如一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。

4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

6)分析规格说明,找出其它可能的边界条件。二.实战演习:

在等价类划分方法的基础上,使输入为边界条件进行测试。编号测试用例用例覆盖的等价类1在用户名输入筐中输入“aa3a”(1),(3),(5)边界2在用户名输入筐中输入“1a”(2)3在用户名输入筐中输入“aaa”(6)4在用户名输入筐中输入“a/a”(4)5在用户名输入筐中输入“a2345678901”(7)边界6在密码输入筐中输入“abc123”(8),(10)边界7在密码输入筐中输入“a???bc”(9)8在密码输入筐中输入“a234567890123456”(12)边界9在密码输入筐中输入“a2345”(11)边界10管理员向图书库存中加入一个图书条目:数据项备注数值ID_Book书号45678Classify分类1BookName书名多情剑客无情剑Author图书作者古龙Publisher出版商白花文艺出版社Date_Publish出版日期1988-12-5PicturePath图片路径../BookImage/45678.gifCount_Page页数650Comment内容简介古龙经典Count_Total库存数量10Count_Buy已购买数量0RecomLevel推荐程度1Cost价格24.30Price出版价35Date_Add上架日期2003-11-28(13)(15)(18)(20)(22)(24)(26)(28)(30)(32)(34)(36)(38)(40)11管理员向图书库存中加入图书条目,其中ID_Book项为:数据项备注数值ID_Book书号A678……(14)12管理员向图书库存中加入图书条目,其中Publisher项为:数据项备注数值Publisher出版商百花…(大于100字符)……(29)13管理员向图书库存中加入图书条目,其中PicturePath项为:数据项备注数值PicturePath图片路径../Book…(大于500字符)……(31)14管理员向图书库存中加入图书条目,其中Date_Publish项为:数据项备注数值Date_Publish出版日期88/01/21……(19)15管理员向图书库存中加入图书条目,其中Date_Publish项为:数据项备注数值Date_Publish出版日期1988-00-21(或1988-20-21)……(21)16管理员向图书库存中加入图书条目,其中Date_Publish项为:数据项备注数值Date_Publish出版日期1988-01-00(或1988-01-41)……(23)17管理员向图书库存中加入图书条目,其中Count_Page项为:数据项备注数值Count_Page页数(空),或650…(大于10位)……(16)或(17)18管理员向图书库存中加入图书条目,其中Comment项为:数据项备注数值Comment内容简介古龙经典…(大于500字符)……(33)19管理员向图书库存中加入图书条目,其中RecomLevel项为:数据项备注数值RecomLevel推荐程度A……(35)20管理员向图书库存中加入图书条目,其中RecomLevel项为:数据项备注数值RecomLevel推荐程度7……(37)21管理员向图书库存中加入图书条目,其中Cost项为:数据项备注数值Cost价格A4.3……(25)22管理员向图书库存中加入图书条目,其中Cost项为:数据项备注数值Cost价格4.312……(27)23管理员向图书库存中加入图书条目,其中Classify项为:数据项备注数值Classify分类小说……(39)24管理员向图书库存中加入图书条目,其中Classify项为:数据项备注数值Classify分类10……(41)3测试用例设计网上书店--错误推测方法一.

方法简介:1.

定义:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。2.

错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。1)

例如,输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。2)

例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:I.

程序是否把空格作为回答II.在回答记录中混有标准答案记录III.除了标题记录外,还有一些的记录最后一个字符即不是2也不是3IV.有两个学生的学号相同V.试题数是负数。3)再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:I.

输入的线性表为空表;II.表中只含有一个元素;III.输入表中所有元素已排好序;IV.

输入表已按逆序排好;V.输入表中部分或全部元素相同。二.实战演习:输入条件测试标准用户登陆正确检查是否存在该用户名(1)若存在该用户名且密码正确,是否能正确登陆(2)若不存在该用户名或密码错误,是否能给出错误提示(3)用户注册1.正确检查用户名是否已存在(4)2.若用户名不存在,是否能正确添加该用户(5)3.若用户名已存在,是否能给出错误提示(6)用户修改信息1..再次登陆时,可用修改后的密码登陆(7)2.再次登陆后,看到的信息均为修改后的(8)用户提交订单后正确判断该订单是否可满足(9)用户订单可满足正确开具发货票(即收款单)(10)用户购书1.图书库存作相应修改(11)2.用户经验值作相应增加(12)3.图书销售历史作相应修改,推荐程度作相应(13)4.应收款明细帐作相应修改(14)用户订单不可满足产生暂存订单(15)发出订货通知(16)接到订货通知正确分类合计,产生订货单,发给厂商(17)接到厂方发货单正确核对发货单和原订单(18)发货单核对正确图书库存作相应修改(19)正确发出到货通知(20)应付款明细帐作相应修改(21)接到到货通知核对到货通知和暂存订单,判断暂存订单是否可满足(22)根据上表,可设计以下测试用例:编号测试用例用例覆盖的功能1用户信息数据库中不存在用户”Jack”,用该用户名登陆;或存在用户”Jack”,密码为”greatJack”,但用Jack用户名登陆所用密码不是”greatJack”。(3)2用户信息数据库中还没有用户”Jack”,用“Jack”名注册。(4)(5)3用户信息数据库中已存在用户”Jack”,密码为”greatJack”,用该用户名和密码登陆。(1)(2)4用户信息数据库中已有用户”Jack”,用“Jack”名注册。(6)5用户信息数据库中已存在用户”Jack”,密码为”greatJack”,用该用户名和密码登陆后,修改某些信息,并修改密码为”greatJacky”,再次登陆。(7)(8)6(接上例)用用户名”Jack”和密码”greatJacky”登陆后,选择几本书产生订单(事先已经知道该订单可满足),并提交。(9)(10)7(接上例)假设用户购买所订图书(11)~(14)8正确登陆后,选择几本书产生订单(事先已经知道该订单不可满足),并提交。(15)(16)(17)9(接上例)假设已得到了厂方的发货单,且该发货单核对正确(18)~(22)七、课程设计完成结果分析通过这次课设,我们通过了市场调研以及从网上收集信息我们知道了JSP网上书店,包括其他类型的网上书店,都是电子商务的传统的应用。电子商务是计算机网络的又一次的革命,旨在通过电子手段建立一种新的经济次序,它不仅涉及电子技术和商业交易本身,而且涉及到诸如金融、税务、教育等社会其他层面。从微观角度说,电子商务是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动,这里要强调两点:一是活动要有商业背景;一是网络化和数字化。这让我们深深的了解到了做开发之前对这项开发的背景了解的重要性,只有通过对背景的深刻了解,我们才能保证开发之后有一定的市场。特别是通过一定人数的市场的调研,只要充分了解到了大多数人的具体需求才能够对具体的设计进行正确的建模。在开发设计的过程中,曾经出现了一些问题,通过和同学交流以及网上搜索信息,都已经解决,实现了最终的目标。在进行编码之前,对于需求分析很重要,我们通过对网络充分的收集信息,进而对模块划分做了充分的讨论。虽然前期出来一些模块构建的分歧,但是我们后来积极基于客户的方面把意见达成了统一。在画类图、用例图以及顺序图都是基于现实客户以及管理的需要,进行符合实际的画图,花费了很长时间对其设计。明白了开发编码不是全部,前面的设计也是非常耗时耗力,需要我们积极参与和注重分析。在开发的过程中,也曾经感觉到代码的凌乱复杂没有规律。在对书中内容进行系统地了解后,终于明白采用三层架构的技术,并且使用打包的方法和头文件的提取,确保了代码的简洁明快,并提高了代码的可重用行。整个开发过程,努力贴近软件工程的思想,通过前期可行性分析,需求分析,进入到概要设计,然后总体详细设计,最后代码产生后,亦进行白盒测试。这个过程中,积极学习,尽量做到举一反三,一小见大,在JSP+JAVA开发过程中,了解掌握了JAVA的基本构架和设计思想,开发流程。到目前为止,已经明晰了JAVA的总体思想。在未来的时间里,详细这次课设打下了基础,能让我们进一步对JAVA和JSP编程有了进一步的提升。

基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究HYPERLINK"/detail.htm?3606

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论