软件测试课程设计.docx_第1页
软件测试课程设计.docx_第2页
软件测试课程设计.docx_第3页
软件测试课程设计.docx_第4页
软件测试课程设计.docx_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

青岛理工大学软件测试报告院(系): 计算机工程学院 专业: 软件工程 姓名: 杨传龙 班级: 软件122 学号: 201207231 题目: 小区家政管理系统 起迄日期: 2015.5.15-2015.6.15 设计地点: 计算机工程学院机房 指导教师: 第1章 概论1.1课题背景家政服务管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面.对于前者要求建立数据一致性和完整性强,数据安全性好的数据库.而对于后者则要求应用程序功能完备,易使用等特点。随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出,为此开发此系统。通过使用家政服务管理系统,使家政服务店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高家政服务管理效率的目的。系统开发采用Oracle公司的MySql,利用其强大的可视化界面功能及对数据库的支持,先构造一个原型,逐步增加功能,最终满足需求。1.2开发工具 本系统利用Swing(Java)技术设计编写,以Mysql作为后台数据库,利用jdbc访问数据库实现各种功能。1.2.1 JAVA简介java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。Java编程语言的风格十分接近C语言、C+语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C+语言面向对象技术的核心。Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。1.2.2 Swing (Java)简介Swing是一个为Java设计的GUI工具包。Swing是JAVA基础类的一部分。Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级元件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。可扩展性 Swing使用了高度模块化的架构,可以通过接口的方式使用各种定制框架来扩展Swing。用户可以通过Java的继承机制重写原始的组件来实现自己的代码。Swing是一个基于组件的框架,所有的组件都是从javax.swing.JComponent类继承来的。Swing对象通过异步方式发送事件,具有边界属性,并且会响应该组件的一系列方法。Swing组件是Java Beans组件,和Java Beans组件架构完全保持一致。可定制性Swing提供了可编程渲染模型,使用户可以对渲染细节进行控制。一般来看,Swing组件的视觉效果是一些通用元素的组合,比如外框、边距、窗口装饰等等。典型的情况是,用户通过编写代码,指定边框、颜色、背景、透明度等属性来定制一种通用Swing组件(如JTable)。核心组件则会用这些定制的属性来进行绘制。此外,也完全可以制作出非常特殊的GUI控件或是高度自定义的视觉效果。1.3功能模块(1)客户管理模块功能需求管理员可以添加客户信息,并可以对添加的客户信息进行查询、修改、删除。(2)员工管理模块功能需求管理员可以批量添加员工信息,并可以对添加的员工信息进行查询、修改、删除。(3)服务类别管理模块功能需求管理员可以添加服务类别信息,并可以对添加的服务类别信息进行修改、查询、删除。(4)用户请求管理模块功能需求不同的管理员负责处理不同的服务类型请求,管理员可以查看本类的服务请求和服务记录,并且可以处理并修改用户的请求,把用户的请求标记为已完成(5)客户请求管理模块功能需求 客户可以产看自己的请求1.4系统模块图小区物业管理系统分为管理员系统和小区业主系统。管理员系统分为业主信息管理、员工信息管理、服务类型管理、业主请求处理四个模块;小区业主系统分为员工、服务信息管理和预约处理两个模块。第二章 测试目标2.1测试目的1.通过对测试结果的分析,得到对软件质量的评价2.分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考3.评估测试测试执行和测试计划是否符合4.分析系统存在的缺陷,为修复和预防bug提供建议2.2测试内容该文档的目的是描述小区家政服务管理系统客户端系统测试的总结报告,其主要内容包括:l 系统环境简介1.软件名称:小区家政服务管理系统2.软件功能:本系统有两种角色:小区业主,管理员。详细划分如下:(1)小区业主:查看服务记录,预约服务,更改密码,查看员工信息和服务信息(2)管理员:对小区业主信息、服务信息、员工信息的增删查改,修改用户名密码,查看服务记录,处理客户的服务请求3.用户:求职者、招聘单位、管理员4.开发者:张飞l 系统数据度量l 系统结果评估用户群:1.项目管理人员 2.测试人员 3.小区业主范围:该文档定义了客户端系统测试的结果,总结了测试客户端的服务项目查询、服务信息、员工信息的增删查改、密码修改的基本功能,以及支持大数据量并发访问的性能,给出了测试的结论。第三章 软件测试计划3.1测试目的1. 练习和掌握软件测试管理的一般过程与步骤;2. 掌握测试管理的人工过程和能够通过相关管理软件实现以下工作:a) 配置软件资产信息、软件需求、软件模型和缺陷数据库;b) 创建和管理多个测试组和用户;c) 配置测试环境、编写详细测试计划、安排测试进度;d) 设计测试脚本、测试用例;e) 实施测试、执行测试和评估测试。3.2测试选题选题一:关于小区业主功能模块的测试;选题二:对小区家政管理员功能模块的测试。3.3测试人员杨传龙:软件测试计划及相关资料的编写与收集,对特定问题编写程序代码,并对其进行黑盒测试,对特定问题编写程序代码,并对其进行白盒测试。3.4测试方法对于选题一,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分析测试、决策表方法使用。对于选题二,使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试及基本路径测试。3.5测试资料测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,这种测试方法称为黑盒测试(Black-box Testing)方法。黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒中的内容(实现过程)完全不知道,只明确要做到什么。黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。黑盒测试的特点:(1)黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。(2)黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时间。黑盒测试的具体技术方法:边界值分析法、等价类划分法、因果图法、决策表法。白盒测试 测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试(White-box Testing)方法。 白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。 白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。 白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。 通常的程序结构覆盖有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、路径覆盖。黑盒测试与白盒测试的比较软件测试过程单元测试:针对每个单元的测试, 以确保每个模块能正常工作为目标。集成测试:对已测试过的模块进行组装,进行集成测试。目的在于检验与软件设计相关的程 序结构问题。确认(有效性)测试:是检验所开发的软件能否满足所有功能和性能需求的最后手段。系统测试:检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作人员)协调 工作。验收(用户)测试:检验软件产品质量的最后一道工序。主要突出用户的作用,同时软件开 发人员也应有一定程度的参与。数据整理测试所得到的用例测试报告、BUG报告,需要进行反馈和最后的归档,归档的工作按照项目计划中所规定的内容进行,反馈的工作在测试项结束后,整理成测试总结报告后进行,具体的日期,在项目计划中有规定。不同阶段的测试,都需要重复以上的步骤。其他必要的数据整理的工作,由项目经理在进行过程中进行安排。 第四章 测试内容4.1单元测试4.2集成测试4.3系统测试 第五章 缺陷的统计与分析 第六章测试结论与建议6.1测试结论:1.这套小区家政服务管理系统安全性相对较好,不存在过多的缺陷,基本能够满足各项功能的需求。2.通过多种测试方法和工具对各个模块进行了测试,并且在测试时采用了多个测试用例,历遍所有的功能,测试的结果说服性很强。3.该软件功能较全面,能够完成项目创建,设置,任务分配的功能,各个模块分工明确,共同完成项目的管理。4.但是它仍存在一些缺陷,基本上是在数据输入判定,分析等方面,这些缺陷并不是很明显,据推测应该是系统在开发设计过程中程序开发人员的疏忽造成的。5.系统预测统计模型经过多项严格测试,通过多种测试用例的测试,发现一些不足和问题,对系统整体运行不会造成太大的影响,不过在今后的开发中需要改进和提升。6.2建议:此管理系统基本上能够通过测试,与目标功能总体上是一致的,相对来说可以算得上是一款功能全面的系统,在今后的开发过程中注重系统的稳定性,不断完善各项功能,特别是对数据处理的准确性和及时性。当然此系统中的存在的缺陷都必须得到相应的解决,如果不能那么就会影响用户体验过程,从而失去用户的信任,如果失去用户信任这对一款软件的打击会是毁灭性的,所以更要注重对用户信息的反馈,这样可以更好的让这款管理系统满足用户的需求。第七章 总结该系统设计并实现了小区物业管理系统管理模块的基本功能,包括员工信息管理、客户信息管理、服务项目信息管理、用户请求处理、服务记录处理,同时还实现了密码修改等附加功能。采用了面向对象的思想,用Javaswing技术制作界面,采用java语言编写后台代码,以MySql作为后台数据库,选用jdbc访问数据库,将整个系统分为表现层、业务逻辑层、数据访问层,使得系统更容易开发与维护。通过对系统各个功能和性能的测试,本系统运行基本稳定,性能可靠,基本指标达到了用户的要求,具有较好的易用性和实用性。但由于这次设计的时间比较仓促,其中不免会有些纰漏,比如在程序的实现上还不够严谨,出错处理不够完善等多方面问题,这些都有进一步改善。通过本次对家政管理系统图形界面的设计,我学到了很多东西,无论在理论上还是实践中,都得到不少的提高,例如:在此次设计中,我觉得我学到的最重要的就是,在设计任何一个系统之前都应该好好花时间把这个系统的总体设计给清楚的记录下来,这样有利于在做系统的过程中思路清晰明确,这对总体设计是有帮助的。同样,这个思想对我以后的学习和工作都有一种巨大的帮助。 第二章 需求分析2.1任务概述2.1.1系统目标本系统需要满足以下几个系统设计目标。(1)实用性原则:真正为用户的实际工作服务,按照小区家政管理工作的实际流程,设计出实用的小区家政管理系统。(2)可靠性原则:必须为用户和管理员提供信息安全的服务,以保证用户员工的各类信息的不被泄露。(3)友好性原则:本管理系统面向的用户是小区家政管理员和小区业主,所以系统操作上要求简单、方便、快捷,便于用户使用。(4)可扩展性原则:采用开发的标准和接口,便于系统向更大的规模和功能扩展。2.1.2用户特点本系统面向的用户有两种,一类是管理员,另一类是小区的业主,都应该具有一定的计算机使用能力。2.2系统的功能需求2.2.1系统角色功能需求本系统有两种角色:小区业主,管理员。详细划分如下:(1)小区业主:查看服务记录,预约服务,更改密码,查看员工信息和服务信息(2)管理员:对小区业主信息、服务信息、员工信息的增删查改,修改用户名密码,查看服务记录,处理客户的服务请求2.2.2功能模块(1)客户管理模块功能需求管理员可以添加客户信息,并可以对添加的客户信息进行查询、修改、删除。(2)员工管理模块功能需求管理员可以批量添加员工信息,并可以对添加的员工信息进行查询、修改、删除。(3)服务类别管理模块功能需求管理员可以添加服务类别信息,并可以对添加的服务类别信息进行修改、查询、删除。(4)用户请求管理模块功能需求不同的管理员负责处理不同的服务类型请求,管理员可以查看本类的服务请求和服务记录,并且可以处理并修改用户的请求,把用户的请求标记为已完成(5)客户请求管理模块功能需求 客户可以产看自己的请求2.3系统的性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:(1)系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足用户对信息的处理。由于系统的查询功能对于整个系统的功能和性能完成很重要。从系统的多个数据来源来看,员工信息管理、客户信息管理、服务信息管理、其准确性很大程度上决定了系统的成败。因此,在系统开发过程中,系统采用优化的SQL 语句及安全扩展存储过程来保证系统的准确性和及时性。(2)系统的开放性和系统的可扩充性系统在开发过程中,应该充分考虑以后的可扩充性。例如实验信息属性添加、修改,用户查询的需求及管理工作的分级管理等模块也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。(3)系统的易用性和易维护性系统是直接面对使用人员的,而有些使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,系统为不同角色的用户提供了方便的管理后台进行数据管理,特别为系统管理员提供了服务记录管理,客户预定处理等功能。(4)系统的响应速度系统设计中摒弃大量数据冗余,提出了优化数据库的解决方案,大量使用存储过程,大大提高系统响应时间和速度。系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。严格保证操作人员不会因为速度问题而影响工作效率。2.4系统的数据需求通过对系统功能需求的分析,可以初步确定该系统的基本数据需求。由各个功能模块可以进一步确定具体的数据需求,具体数据需求如下:(1)客户管理模块数据需求该模块主要管理客户信息,需要表示客户信息的数据,应包含编号、姓名、性别、电话、地址、密码、管理项目等数据项。(2)员工管理模块数据需求该模块主要管理员工信息,需要表示员工信息的数据,应包含编号、姓名、性别、民族、年龄、教育程度、籍贯、服务项目编号等数据项(3)服务管理模块数据需求该模块主要管理服务信息,需要表示服务信息的数据,应包含服务编号、服务名等数据项。(4)服务记录管理模块数据需求该模块主要管理服务记录的信息,需要表示服务信息的数据,应包含员工名、客户名、编号、开始时间、结束时间等数据项。第3章 系统总体设计3.1 系统功能设计3.1.1 系统总体模块小区物业管理系统分为管理员系统和小区业主系统。管理员系统分为业主信息管理、员工信息管理、服务类型管理、业主请求处理四个模块;小区业主系统分为员工、服务信息管理和预约处理两个模块。3.1.2 管理模块第 4 章数据库设计4.1 数据库概念设计(1)管理者和员工信息之间的联系:n1管理者管理员工(2)员工和服务类型之间的联系1员工服务类型从属n(3)员工和客户之间的联系mn员工客户服务(4)员工和合同之间的联系员工合同遵循1n(5)客户和合同之间的联系客户合同遵循1n(6)家政服务信息系统模型整体E-R图:m管理者员工服务类型客户合同管理理从属属服务遵循循姓名性别籍贯编号姓名性别管理项目编号学历编号类型名编号姓名性别服务项目住宅电话员工编号编号起始日期终止日期客户编号客户编号nmnmn11遵循114.2 数据库逻辑设计4.2.1 表汇总表名简要说明t_admin管理员表,存放管理员的信息t_service服务类型表,存放服务类型的信息t_worker员工表,存放员工的个人信息t_client客户表,存放客户的相关信息t_record合同记录表,存放已完成和未完成的请求记录4.2.2 表逻辑结构设计(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:1)管理员信息表,如表1所示。表1 管理员信息表字段名数据类型主关键字外部关键字参照的表取值说明编号char(5)Yes不许为空姓名char(20)不允许为空密码 Varchar管理项目char(20)2)家政服务类型表,如表2所示。表2 家政服务类型表字段名数据类型主关键字外部关键字参照的表取值说明编号char(5)Yes不许为空类型名char(20)不允许为空3)员工登记表,如图3所示。表3 员工登记表字段名数据类型主关键字外部关键字参照的表取值说明编号char(5)Yes不允许为空姓名char(20)不允许为空性别char(2)只允许取“男”或“女”出生日期char(20)籍贯char(6)婚姻状况char(4)民族char(4)学历char(4)服务类型char(5)表24)客户登记表,如表4所示。表4 客户登记表字段名数据类型主关键字外部关键字参照的表取值说明编号IntegerYes不允许为空姓名varchar不允许为空性别varchar只允许取“男”或“女”住宅电话varchar密码varchar表35)合同登记表,如表5所示。表5 合同登记表字段名数据类型主关键字外部关键字参照的表取值说明编号char(5)Yes不允许为空起始日期Int不允许为空终止日期Int客户编号char(5)表4员工编号varchar(5)表3第 5 章详细设计5.1 程序结构的设计(1) 用户登录模块,首先接受用户输入的用户名和密码,根据不同类型在数据库中查询是否有此用户以及密码是否正确,若正确则返回用户的对象,根据权限不同执行不同的操作。(2)用户请求处理模块 系统根据管理员的管理权限从合同表中读取记录,判断标志位的状态,在列表中输出查询结果,最后根据用户选择的不同操作进行处理,最后刷新列表。(3)管理员修改密码模块系统先判断用户两次输入的密码是否一致,一致则把修改写入数据库,并提示修改成功,重新登陆,否则提示修改失败,重新修改。(4)客户信息管理模块输出客户的信息列表,根据用户选择的操作对数据库进行操作,操作完之后执行刷新操作,输出更新以后的列表。(5)业主请求管理模块 根据用户的权限输出请求列表,根据用户的操作执行插入,删除,修改等操作,之后刷新列表。5.2 页面设计5.2.1 登录界面用户输入用户名和密码,选择登陆的类型以后,点击登陆,系统判断用户名密码是否正确,如果正确,再根据不同的用户类型跳转到不同界面中去。5.2.2管理员功能界面显示管理员的功能选择界面,包括系统功能,基本信息的查看和用户业务的处理。5.2.3密码修改用户输入新的用户名密码和确认密码,若两次输入密码一致,则修改密码,否则提示修改失败。5.2.3信息管理查看客户、员工、服务的基本信息,并实现对他们的增删查操作。5.2.4服务记录查看根据用户的权限,对本类服务记录的查看5.2.5服务请求处理查看用户对本类服务的请求。5.2.6员工管理查看自己管理的员工信息,可以对员工的信息进行增删查改等操作。5.2.7业主功能界面客户的用户界面,包括系统管理,基本信息的查询和个人请求的管理。5.2.8 信息查看用户可以查看服务信息和员工的信息。5.2.9服务记录查看用户可以查看自己的服务记录。5.2.10个人请求管理5.2.11密码修改客户输入新密码和确认密码,若一致则修改数据库中的记录。5.3 编码设计5.3.1登陆模块if (admin.isSelected() String name = loginname.getText();String passwd = password.getText();AdminDao dao = new AdminDao();/System.out.println(name + + passwd);Admin ad = dao.login(name, passwd);if (ad != null) adminInterface inter = new adminInterface();inter.main(null,ad);frame.dispose(); else JOptionPane.showMessageDialog(null, 用户名或密码不正确!, 信息,JOptionPane.WARNING_MESSAGE);else if(client.isSelected()String name = loginname.getText();String passwd = password.getText();ClientDao dao = new ClientDao();System.out.println(name + + passwd);Client client=dao.login(name, passwd);if (client.getName()=null) JOptionPane.showMessageDialog(null, 用户名或密码不正确!, 信息,JOptionPane.WARNING_MESSAGE); else clientInterface inter = new clientInterface();inter.main(null,client);frame.dispose();5.3.2刷新和获取对象模块刷新列表函数private void refreshJTable() / TODO Auto-generated method stubRecordDao dao=new RecordDao();List list=dao.getAll();int r=0;for (Record record : list) int serviceType=record.getWorker().getService().getId();int manageType=admin.getManageType();if(record.getTag()=0&serviceType=manageType)ar0=record.getId(); ar1=record.getClient().getName(); ar2=record.getWorker().getName(); ar3=record.getStarttime(); ar4=record.getEndtime(); ar5=record.getWorker().getService().getService(); ar6=0; r+;ar0=null;ar1=null;ar2=null;ar3=null;ar4=null;ar5=null;ar6=null;recordTable.repaint();获取表格中选中对象的函数private Record setRecord() int c=recordTable.getSelectedRow();Integer id=Integer.valueOf(recordTable.getValueAt(c, 0).toString();ClientDao dao1=new ClientDao();Client client=dao1.getByName(String)recordTable.getValueAt(c, 1);WorkerDao dao2=new WorkerDao();Worker worker=dao2.getByName(String)recordTable.getValueAt(c, 2);Date starttime=(Date) recordTable.getValueAt(c, 3);Date endtime=(Date

温馨提示

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

评论

0/150

提交评论