1、第 1 页(共 16 页)本科毕业论文(20 届)房屋租售管理系统的设计与实现软件测试与测试方法浅析所在学院专业班级 信息与计算科学学生姓名指导教师完成日期第 2 页(共 16 页)房屋租售管理系统软件测试与测试方法浅析摘 要:随着中国 IT 行业的发展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重要手段。本软件的开发过程完全遵循软件开发流程来完成的。经历了需求分析、数据库设计、界面开发和编码阶段,最后通过软件测试,完成整个软件的开
2、发。关键字:软件测试;软件质量;需求分析;测试用例;测试方法Abstract:With the development of Chinas IT industry and software market matures, people increasingly high expectations of the role of the software, software quality, performance, reliability, it is also becoming the focus of attention. So, how to ensure the quality and
3、reliability of software products has become an important issue that people must be addressed, and software quality assurance software testing is an important tool. The software development process is in full compliance with the software development process to be completed. Experienced a needs analys
4、is phase, the database design phase, interface development phase, the coding phase, and finally through software testing, complete the entire software development.Key words: software testing; software quality; needs analysis; test cases; test methods第 3 页(共 16 页)目录目录 .21 引言 .31.1 软件测试的背景和意义 .31.2 软件
5、测试的理论基础 .32 相关技术和工具介绍 .42.1 相关技术介绍 .42.2 相关工具介绍 .53 需求分析 .63.1 整体设计 .63.2 房屋租售管理系统部分 .64 项目软件测试的过程 .74.1 测试计划 .74.2 测试概要 .84.3 测试结果及发现 .115 对软件功能的结论 .125.1 功能性 .125.2 易用性 .125.3 兼容性 .135.4 安全性 .136 分析摘要 .136.1 建议 .136.2 评价 .137 总结 .14致谢 .15参考文献 .15第 4 页(共 16 页)1 引言1.1 软件测试的背景和意义随着计算机技术的迅速发展和越来越广泛深入的
6、应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。如何防止和减少这些可能存在的问题呢?回答是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。1.2 软件测试的理论基础1.2.1 软件测试的定义软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(co
7、mpleteness) 和质量(quality)的软件过程。 1.2.2 软件测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。在谈到软件测试时,引用 Grenford J. Myers 在 软件测试的艺术一书中的观点: (1)软件测试是为了发现错误而执行程序的过程;(2) 测试是为了证明程序有错,而不是证明程序无错误;(3) 一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解可能会产生
8、误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。其次,没有发现错误的测试也是有价值的,完第 5 页(共 16 页)整的测试是评定测试质量的一种方法。1.2.2 软件测试的内容验证(verification) 是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 确认(validation) 是一系列的活动和过程 , 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)软件测试的对象不仅仅是程序
9、测试, 软件测试应该包括整个软件开发期问各个阶段所产生的文档, 如需求规格说明、概要设计文档、详细设计文档, 当然软件测试的主要对象还是源程序。2 相关技术和工具介绍2.1 相关技术介绍按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试;2.1.1 白盒测试白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。2.1.2 黑盒测试黑盒测试也称功能测试
10、或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等,主要用于软件确认测试。2.1.3 等价类划分等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子第 6 页(共 16 页)集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.2.1.4 边界值分析法边界值分析法:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因
11、此针对各种边界情况设计测试用例,可以查出更多的错误.2.1.5 因果图方法前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 2.1.6 错误推测法错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 其基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 2.2 相关工具介绍2
12、.2.1 QTPHP QuickTest Professional 支持功能测试和回归测试自动化,用于每个主要软件应用程序和环境。此解决方案使用关键字驱动的测试概念,简化了测试创建和维护过程。它使测试人员能够使用专业的捕获技术直接从应用程序屏幕中捕获流程来构建测试案例。2.2.2 Mercury LoadRunnerLoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够第 7 页(共 16 页)对整个企业架构进行测试。通过使用 LoadRunner,企业能最大限度地缩短测试时间,优化性能和加
13、速应用系统的发布周期。 LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。 3 需求分析3.1 整体设计现代计算机技术种类繁多,同一种功能需求在不同的编程语言下呈现出不同的姿态。我们可以想象在一个平台下已经存在了一些共用的基础功能(用户,用户组,权限管理,菜单管理,系统配置),甚至是根据模板生成代码,图表,数据库的功能,那么在基于这个平台开发项目,是不是事半功能呢?当然本需求只是作为对框架平台的探索,因此在功能上就只能实现主流的功能。3.2 房屋租售管理系统部分随着我国市场经济的快速发展和人们生活水平的不断提高,简单的租售服务已经不能满足人们的需
14、求。房屋租售管理是一项琐碎、复杂而又十分细致的工作,房屋的基本资料,客户资料的管理,房屋租售管理,各项收费以及统计报表的管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行房屋租售工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便等。4 项目软件测试的过程4.1 测试计划4.1.1 编写目的编写该测试报告主要有以下几个目的 第 8 页(共 16 页)1通过对测试结果的分析,得到对软件质量的评价 ; 2分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考 ;3评估测试
15、测试执行和测试计划是否符合;4分析系统存在的缺陷,为修复和预防 bug 提供建议。4.1.2 背景说明:a.被测试软件系统的名称:房屋租售管理系统b.本项目任务提出者:高达川、张福、曾艺、朱婷婷开发者:高达川、张福、曾艺、朱婷婷用户:所有对该项目感兴趣,并想通过该项目的产品提高房屋租售办公速度和效率的用户。c.由于测试数据不是实际采集,可能会造成一定的测试误差,也有可能会忽视软件潜在的问题4.1.3 定义模块测试:即功能测试,测试软件各个功能模块是否正确,逻辑是否正确。系统测试:按照需求规格说明对系统整体功能进行的测试。系统测试分析:对测试的结果进行分析,形成报告,便于交流和保存。4.1.4
16、测试阶段模块测试、系统测试4.1.5 测试工具无4.1.6 参考资料需求规格说明书.doc数据库设计.doc概要设计.doc界面设计详细设计.doc第 9 页(共 16 页)后台框架设计详细设计.doc4.2 测试概要4.2.1 测试基本情况房屋租售管理系统测试自 2014 年 12 月 10 日封版至 2015 年 12 月 31 日测试完成共:22 天,测试分两部分,前部分大概二周多的时间进行模块及 BUG 验证,所有模板包括每个按钮都在点到,避免出现低级错误,主要按照测试案例执行;后部分封版集成测试、系统测试,重点回归测试,功能优先测试。模块测试执行测试案例:236 条,共测出:20 个
17、 BUG回归测试:验证 bug16 个系统测试:对各个模块的流程重点测试,要求遍历每个功能点4.2.3 测试执行此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试4.2.4 测试用例功能性测试用例包含的系统功能,包括:用户登陆、基础数据维护、用户管理、租售业务办理;测试用例不包含的系统功能,包括:菜单管理易用性易用性设计包括:1操作相关提示信息的正确性、一致性、可理解性2界面简洁直观,风格统一兼容性浏览器兼容性测试,包括以下浏览器:IE7、IE8、猎豹
18、浏览器、手机QQ 浏览器第 10 页(共 16 页)安全性表 4.2.1 系统登录测试用例系统登录测试用例编号:Project_Login_1项目/软件 TOPIT-房屋租售管理系统 程序版本功能模块 Login 编制人 曾艺用例编号 Project_Login_1 编制时间 2014/12/1相关用例功能特性 系统的初始窗体,并进行用户的合法性验证测试目的 验证是否输入合法信息,阻止非法登录,以保证系统的安全性预置条件 数据库中存储了一些用户信息 特殊规格说明 区分大小写参考信息 TOPIT-房屋租售管理系统需求说明.doc测试数据1.用户名/密码=zengyi/123456 2.用户名/ 密码=test001/123456(数据库表中有相应的信息)模块 序号 操作步骤 测试数据 期望结果实际结果测试状态(P/F)1输入用户名,按“登陆”按钮用户名=zengyi,密码=null显示提示信息“请填写此字段”(符合)P2输入用户名,输入错误密码,按“登陆”按钮用户名=znegyi,密码=1显示提示信息“登陆失败!”(符合)P登录3输入用户名,输入密码,按“登陆”按钮用户名=zengyi,密码=123456进入系统,显示管理员界面首页(符合)P