软件工程课程设计-网上书店大学论文.doc
《软件工程课程设计-网上书店大学论文.doc》由会员分享,可在线阅读,更多相关《软件工程课程设计-网上书店大学论文.doc(29页珍藏版)》请在咨信网上搜索。
《软件工程》课程设计 小组报告 课程设计题目:网上书店 专业: 班级:2**4级 组长: 完成起止日期:2015-10-6至2015-12-25 小组完成任务情况统计表(占用一页) 学号 姓名 项目角色 任务完成情况简评 组内评分 签字 联系 方式 1301170437 主程序员 完成情况好,协调小组工作进程 1302270503 辅助程序员 能较快完成工作,完成情况好 1301170504 辅助程序员 工作认真,完成情况好 1301061439 素材文档员 能较好的完成实验报告以及文档保管工作 网页设计员 进行网页的设计 一、课程设计概述(目的、任务及分工情况、开发环境、参考资料) 1、目的 通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识; 2. 熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程; 3. 进一步加强和提高软件工程文档的编写能力; 4. 培养协作能力和团队精神。 该系统管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。查看图书调查报告、游客可以在线注册为会员、投票、购书。本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。 2、任务及分工情况 任务:采用不同的软件开发技术,完成对软件开发项目的需求分析过程,给出系统的 逻辑功能模型,数据字典以及规格说明书。 分工情况:每人分担不同的任务,组长作为主程序员全面协调小组工作,负责整个项目开发工作、网站需求分析、系统测试与调试和小组文档核查等工作;**,***作为辅助程序员主要负责网站结构设计与前台程序的开发等工作,以及负责网站数据库设计与后台程序的开发等工作;***文档管理员主要负责完成课程设计小组最终报告、小组电子文档管理和帮助系统开发等工作;**涛作为网页设计员主要负责美工、网页设计与实现等工作。 3、开发环境 系统名称:《网上书店管理系统》 需求背景分析:随着互联网的迅速发展以及我国经济的稳定平衡发展,人们对于知识的追求也越来越高,因而市场场上出现了各类的图书,但由于各种各样的原因使得消费者在选购图书的时候不能找到自己合意的书籍,同时由于网络经济的迅速发展激生出了网上卖书的现象,由于网上书店里面的图书相当丰富,且价格较市场上的书店里的便宜,以致于越来越多的人上网购书,同时也使得越来越多的人在网上开设自己的书店,本系统即是在以上各种条件成熟的条件下,建立的一个可以让消费者登录本系统购买他们的图书的一个网上书店管理系统、 系统用途:本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和卖书的行为,同时大大减少的人员的参与。 系统使用范围:网上想买书者。 4、参考资料 ①《实用软件工程》(第二版)陆慧恩 张成姝 编著 清华大学出版社 ②《软件工程设计》吕云翔 刘浩 王希鹏 周建 编著 机械工业出版社 ③《ASP.NET网络应用开发例学与实践》郭常圳 李云锦 编著 清华大学出版社 ④《ASP.NET2.0(C#)基础教程》李勇平 编著 清华大学出版社 二、项目的需求分析过程及需求模型 1、可行性分析 可行性研究是系统分析阶段的第二项活动。此活动的主要目标是:进一步明确系统的目标、规模与功能,对系统开发背景、必要和意义进行调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性研究是对系统进行全面、概要的分析。通过调查分析,新系统设计方案有以下三个可行性: 1.技术可行性:本系统采用 Windows 作为操作平台。数据库系统选用 SQL server2005,该数据库管理系统提供数据库之间的数据复制功能,可代替现有系统单据数据的手工传递工作,降低出错率,提高数据的可用性。本系统的开发平台选用 visual studio 2005,这是目 前 web数据库应用软件的主流开发平台。 2.经济可行性:采用新的网上书店可取代原系统的工作,减少人工开支,节省资金,并且可大大提高信息量的取得,缩短信息处理周期提高员工信息的利用率,使销售质量更上一个台阶。 3.营运可行性(1).本系统操作简单,易于理解,只需通过简单培训,上手较快,营运环境要求低。(2).面对于系统设计还应该以“标准性、安全性、高效性、保密性、可维护性”为标准,在着眼于当前实用的基础上,为将来系统的扩展,升级留有余地。软件的开发应能在较长时间内满足学校的发展需要。 2、系统需求分析 1. 总体需求 建立对图书提供全面管理信息的系统对所有的图书,客户提供全面管理对图书详细信息提供管理。 2. 功能需求 在Internet,客户可通过IE或其他浏览器浏览书目信息;在互联网,可提交订单;具有购物车功能;客户能通过书名来检索书籍;客户可在网上进行注册,成为会员;客户能查看当前订单和以往订单;书店员工能查找客户联系信息;书店员工在发货后能改写订单中的发货日期。 3. 性能需求 网上书店系统与相关单位的链接;系统可以对图书的库存进行统计;易于维护和扩充;系统界面设计友好,操作方便、灵活; 具有高可靠性和冗错能力,不允许系统在工作时间停机,不允许系统丢失图书信息,不允许在运行期间出现故障和错误;具有安全检查机制,非法用户不能使用系统,不能偷看系统信息,不能修改图书,防止随意删改,同时提供信息备份的服务; 具有保密机制,各级使用者只能看到允许查看的系统信息; 三、项目设计模型(包括总体设计和详细设计),重点阐述采用的主要方法与技术 1、总体设计 项目规划: 网上书店管理系统是一个典型的 web 数据库开发应用程序,由前台图书展示及销售、后台管理两部分组成。 1.1、前台商品展示及销售:该部分主要包括新书上架、购物车、 会员管理、图书公告及订单查询、图书查询等。 1.2、后台管理:该部分主要对商城内的一些基础数据进行有效管 理,包括图书管理、会员管理、订单管理、公告管理等。 运行环境规定 程序版本 项目 详细 操作系统 Windows XP 数据引擎 Microsoft Sql Server 2005 权限要求 对 Sql Server 数据库具 有建表、备份的权限 对 SqlServer 数据库具有建 表、备份的权限 硬件要求 双 XEON2.4GCPU 1G 内存 RAID5 数据冗余 磁盘阵列或更高 开发工具: 数据库 Microsoft Sql Server 2005 开发工具 Visual studio 2005 2、概要设计 2.1功能分析层次图: 网上书店管理系统 首页 购物车 订单管理 会员管理 收银台 图书展台 会 员 注 册 填写订 单信 息 移出 购 物 车 添加至购物车 图 书分类 浏览 新 书 上 架 书上架 清 空购 物 车 购 书 结 账 会 员 登 录 会员 登录修改 订 单 查 询 查 看 购 物 车 2.2数据库结构设计 网上书店管理系统从管理员,用户(会员)出发,通过注册会员实现对图书的购买及款项的交付。其中通过对图书的分类查询来获取自己需要的图书,因而确定图书的分类表,通过对图书的分类,可以实现对实际图书的管理,进而确定有了图书的详细介绍表即图书表;但在消费者买书的时候需要将自己的订单整理好放到订单表中,故而有了用户的订单表,这是在确定订单的时候用的表,而之前则有一个购物车表,使得用户在网站浏览的时候能将自己喜欢的图书暂时保存在自己的购物车表中,将确定是否购买时,可以将自己不购买的图书随时移出购物车。还有就是在消费者买完图书后,卖家为了获得消费者们的评价,以及是否还需要在进这种书时,专门有一个用户评价的表格来表明消费者们对哪类书感兴趣,进而随时改变销售策略。 3、表的详细设计: 书籍的类别表:Category 书籍的详细信息列表: 消费者的注册信息列表: 消费者的订单列表: 消费者的订单书籍详细信息列表: 消费者的购物车信息列表: 消费者对于购买的书籍的评价列表: 它们的数据之间的关系如图所示: 通过对以上设计图的步骤分析,可以使购买者快速方便的学会在网上购书的流程。 3、设计测试方案: 为保证系统的数据安全性,进入本系统购书时需要使用自己的账号,密码,这样在以后的购书过程中就无需再输入账号或密码了,节省了很多时间。本系统功能模块主要有三个:游客注册成为会员,将购买的书籍放进自己的购物车,结账等待收书。 4、用例图 a、管理者用例: 1.登录:管理员登录。 图表 a.1管理者登录用例图 2.订单管理:包括对订单的增加删除以及查询订单功能。 图表 a.2管理者对订单管理用例图 3.图书管理:对图书的查询(通过年份、书名、作者查询)、删除、添加以及对图书的修改。 图表 a.3管理者对图书管理用例图 4.用户管理:对用户的查询,删除用户。 图表 a.4管理者对用户管理用例图 b、 客户用例图 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-12 5×6 全组 画出用例图,确定需求,尤其是重要需求 <任务2>阶段一之需求分析 2015-10-13至2015-10-20 5×7 全组 根据已经确定的需求,展开分析。确定模块划分。 <任务3>阶段一之总体设计 2015-10-22至 2015-10-29 5×7 全组 模块的总体设计 <任务4>阶段一之详细设计 2015-11-3至 2015-11-10 5×7 全组 根据总体设计进行详细设计,包括数据库设计 <任务5>阶段一之编码及模块测试 2015-11-15至 2015-11-25 5×10 全组 所有模块以及数据库的编码和模块测试 <任务6>阶段一之集成测试 2015-12-02至 2015-12 -17 5×15 全组 继承测试,整理工作产品并提交 2 第二阶段计划 待定 3 风险估计 由于组员还是学生,有各自的日常工作以及其他课程,因此在网上书店项目的的投入时间十分有限,这是本项目的最大风险,必须加以注意。 4预算 软件资金投入较少,具体预算分配简略。 5 支持条件 计算机 Windows XP MicroSoft Visual 2005 五、遇到的困难与获得的主要成果 1主要问题: ①网站的安全性: 保证管理者和注册用户的密码安全,分权限管理,数据库访问控制;管理员应具有一定网络安全及防黑知识。 ②网站可维护性: 网站管理者须懂得一定的服务器应用、ACCESS数据库应用、硬件维护、IIS配置等方面的技能。 ③网站的灵活性: 系统应该具有良好的功能可扩充性,以应对未来用户的更高的要求。 ④故障处理: 系统运行中难免出现一些故障,对此我们提出以下建议和要求: l 对用户提交的重要资料及时备份。(如:当用户修改注册资料时要及时更新系统资料备份,以便于系统崩溃后资料的正确恢复。) l 做好数据库和服务器的日常维护工作,出现故障时可与我们联系由我们帮助解决。 2主要成果: 游客进入系统使得首页 如图所示: public partial class BookList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(BookTypeID)) return; if (!IsPostBack) BookList1.PageIndex = 1; BindBookList(BookTypeID,BookOrderByFields.DateAdded); BookList1.LblSearchCondition.Text = "搜索类别:" + BookTypeName; } } private string BookTypeID get { if(BookTypeTreeNavigationExpanded1._SelectedNode==null) if (Request.QueryString["BookTypeID"] == null) return null; return Request.QueryString["BookTypeID"].ToString(); } else { return BookTypeTreeNavigationExpanded1._SelectedNode.Value } } } private string BookTypeName { get { if (Request.QueryString["BookTypeName"] == null) return null; returnUri.UnescapeDataString( Request.QueryString["BookTypeName"].ToString());} } 2会员的登录注册信息 如图所示: 主要代码如下: protected void RegisterClick(object sender, EventArgs e) { if (!Page.IsValid) return; BookShopOnline.Model.User user = new User(); 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; int result = new UserBll().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图书分类及列表信息:如图所示: 主要代码如下: protected void Page_Load(object sender, EventArgs e) { if (string.IsNullOrEmpty(BookTypeID)) return; if (!IsPostBack) { BookList1.PageIndex = 1; BindBookList(BookTypeID,BookOrderByFields.DateAdded); BookList1.LblSearchCondition.Text = "搜索类别:" + BookTypeName; } } private string BookTypeID { get { if(BookTypeTreeNavigationExpanded1._SelectedNode==null) { if (Request.QueryString["BookTypeID"] == null) return null; return Request.QueryString["BookTypeID"].ToString();} else { returnBookTypeTreeNavigationExpanded1._SelectedNode.Value; } } } private string BookTypeName { get (if (Request.QueryString["BookTypeName"] == null) return null; return Uri.UnescapeDataString( Request.QueryString["BookTypeName"].ToString()); } 以下为图示的详细信息页面: 4查找图书页面如下: 主要代码为: protected void Page_Load(object sender, EventArgs e) { BookDB bookDB = new BookDB(); MyList.DataSource = bookDB.SearchProductDescriptions(Request.Params["txtSearch"]); MyList.DataBind(); if (MyList.Items.Count == 0) { ErrorMsg.Text = "No items match your query"; } 此文档仅描述以上几个页面,其他的在运行系统时可以一一调试运行显示。 六、测试与运行记录(要求针对某个功能利用某种测试方法进行全面的测试) 测试用例设计原则: 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) 0 A 65 空格 (space) 32 a 97 斜杠 ( / ) 47 Z 90 0 48 z 122 冒号 ( : ) 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)如果程序的规格说明- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课程设计 网上 书店 大学 论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文