资源描述
房屋租售管理系统
──软件测试与测试方法浅析
摘 要:随着中国IT行业的发展和软件市场的成熟,人们对软件作用期望值越来越高,软件的质量、性能、可靠性等方面也正逐渐成为人们关注的焦点。因此,如何让保证软件产品的质量和可靠性就成为人们必须解决的一个重要问题,而软件测试是保证软件质量的一个重要手段。本软件的开发过程完全遵循软件开发流程来完成的。经历了需求分析、数据库设计、界面开发和编码阶段,最后通过软件测试,完成整个软件的开发。
关键字:软件测试;软件质量;需求分析;测试用例;测试方法
Abstract:With the development of China's 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 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 analysis 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
目录
目录 2
1 引言 3
1.1 软件测试的背景和意义 3
1.2 软件测试的理论基础 3
2 相关技术和工具介绍 4
2.1 相关技术介绍 4
2.2 相关工具介绍 5
3 需求分析 6
3.1 整体设计 6
3.2 房屋租售管理系统部分 6
4 项目软件测试的过程 7
4.1 测试计划 7
4.2 测试概要 8
4.3 测试结果及发现 11
5 对软件功能的结论 12
5.1 功能性 12
5.2 易用性 12
5.3 兼容性 13
5.4 安全性 13
6 分析摘要 13
6.1 建议 13
6.2 评价 13
7 总结 14
致谢 15
参考文献 15
1 引言
1.1 软件测试的背景和意义
随着计算机技术的迅速发展和越来越广泛深入的应用于国民经济和社会生活的各个方面,随着软件系统的规模和复杂性与日俱增,软件的生产成本和软件中存在的缺陷和故障造成的各类损失也大大增加,甚至会带来灾难性的后果。如何防止和减少这些可能存在的问题呢?回答是进行软件测试。测试是最有效的排除和防止软件缺陷与故障的手段,并由此促进了软件测试理论与技术实践的快速发展。
1.2 软件测试的理论基础
1.2.1 软件测试的定义
软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 完全度(completeness)和质量(quality)的软件过程。
1.2.2 软件测试的目的
如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。在谈到软件测试时,引用Grenford J. Myers在《软件测试的艺术》一书中的观点: (1)软件测试是为了发现错误而执行程序的过程;(2)测试是为了证明程序有错,而不是证明程序无错误;(3)一个好的测试用例是在于它能发现至今未发现的错误;(4)一个成功的测试是发现了至今未发现的错误的测试。这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。首先,测试并不仅仅是为了要找出错误。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。
1.2.2 软件测试的内容
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing)
确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)
软件测试的对象不仅仅是程序测试, 软件测试应该包括整个软件开发期问各个阶段所产生的文档, 如需求规格说明、概要设计文档、详细设计文档, 当然软件测试的主要对象还是源程序。
2 相关技术和工具介绍
2.1 相关技术介绍
按照软件测试用例的设计方法而论,软件测试可分为黑盒测试和白盒测试;
2.1.1 白盒测试
白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑测试、基路测试等,主要用于软件内部结构的验证。
2.1.2 黑盒测试
黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测等,主要用于软件确认测试。
2.1.3 等价类划分
等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法.
2.1.4 边界值分析法
边界值分析法:边界值分析方法是对等价类划分方法的补充.边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.
2.1.5 因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型).
2.1.6 错误推测法
错误推测法: 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 其基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.
2.2 相关工具介绍
2.2.1 QTP
HP QuickTest Professional 支持功能测试和回归测试自动化,用于每个主要软件应用程序和环境。此解决方案使用关键字驱动的测试概念,简化了测试创建和维护过程。它使测试人员能够使用专业的捕获技术直接从应用程序屏幕中捕获流程来构建测试案例。
2.2.2 Mercury LoadRunner
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用 LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
3 需求分析
3.1 整体设计
现代计算机技术种类繁多,同一种功能需求在不同的编程语言下呈现出不同的姿态。我们可以想象在一个平台下已经存在了一些共用的基础功能(用户,用户组,权限管理,菜单管理,系统配置),甚至是根据模板生成代码,图表,数据库的功能,那么在基于这个平台开发项目,是不是事半功能呢?当然本需求只是作为对框架平台的探索,因此在功能上就只能实现主流的功能。
3.2 房屋租售管理系统部分
随着我国市场经济的快速发展和人们生活水平的不断提高,简单的租售服务已经不能满足人们的需求。房屋租售管理是一项琐碎、复杂而又十分细致的工作,房屋的基本资料,客户资料的管理,房屋租售管理,各项收费以及统计报表的管理,一般不允许出错,如果实行手工操作,须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行房屋租售工作的管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便等。
4 项目软件测试的过程
4.1 测试计划
4.1.1 编写目的
编写该测试报告主要有以下几个目的
1.通过对测试结果的分析,得到对软件质量的评价 ;
2.分析测试的过程,产品,资源,信息,为以后制定测试计划提供参考 ;
3.评估测试测试执行和测试计划是否符合;
4.分析系统存在的缺陷,为修复和预防 bug 提供建议。
4.1.2 背景
说明:
a.被测试软件系统的名称:房屋租售管理系统
b.本项目任务提出者:高达川、张福、曾艺、朱婷婷
开发者:高达川、张福、曾艺、朱婷婷
用户:所有对该项目感兴趣,并想通过该项目的产品提高房屋租售办公速度和效率的用户。
c.由于测试数据不是实际采集,可能会造成一定的测试误差,也有可能会忽视软件潜在的问题
4.1.3 定义
模块测试:即功能测试,测试软件各个功能模块是否正确,逻辑是否正确。
系统测试:按照需求规格说明对系统整体功能进行的测试。
系统测试分析:对测试的结果进行分析,形成报告,便于交流和保存。
4.1.4 测试阶段
模块测试、系统测试
4.1.5 测试工具
无
4.1.6 参考资料
《需求规格说明书.doc》
《数据库设计.doc》
《概要设计.doc》
《界面设计详细设计.doc》
《后台框架设计详细设计.doc》
4.2 测试概要
4.2.1 测试基本情况
房屋租售管理系统测试自2014年12月10日封版至2015年12月31日测试完成共:22天,测试分两部分,前部分大概二周多的时间进行模块及BUG验证,所有模板包括每个按钮都在点到,避免出现低级错误,主要按照测试案例执行;后部分封版集成测试、系统测试,重点回归测试,功能优先测试。
模块测试执行测试案例:236条,共测出:20个BUG
回归测试:验证bug16个
系统测试:对各个模块的流程重点测试,要求遍历每个功能点
4.2.3 测试执行
此次测试严格按照项目计划和测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有体现,在测试执行过程中,依据测试计划和测试用例,对系统进行了完整的测试
4.2.4 测试用例
功能性
测试用例包含的系统功能,包括:用户登陆、基础数据维护、用户管理、租售业务办理;
测试用例不包含的系统功能,包括:菜单管理
易用性
易用性设计包括:
1.操作相关提示信息的正确性、一致性、可理解性
2.界面简洁直观,风格统一
兼容性
浏览器兼容性测试,包括以下浏览器:IE7、IE8、猎豹浏览器、手机QQ浏览器
安全性
表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
显示提示信息“请填写此字段”
(符合)
P
2
输入用户名,输入错误密码,按“登陆”按钮
用户名=znegyi,密码=1
显示提示信息“登陆失败!”
(符合)
P
3
输入用户名,输入密码,按“登陆”按钮
用户名=zengyi,密码=123456
进入系统,显示管理员界面首页
(符合)
P
4
输入用户名,输入密码,按“登陆”按钮
用户名=test001,密码=123456
进入系统,显示普通用户界面首页
(符合)
P
5
① 入用户名,输入密码,按“登陆”按钮 ②按网页“后退”按钮 ③按网页“前进”按钮
用户名=test001,密码=123456
①进入系统首页
②后退到登陆页面③显示警告信息“请输入用户名和密码”
(符合)
P
测试人员
曾艺
开发人员
负责人
4.3 测试结果及发现
4.3.1 解决的问题
1. 输入管理员用户名和密码,进入系统显示普通用户界面首页
2. 输入普通用户名和密码,进入系统显示管理员用户界面首页
3. 客户管理模块,输入客户姓名,是否入住为空,按“搜索”按钮,显示客户信息为空
4. 客户管理模块,选择是否入住,客户姓名为空,按“搜索”按钮,显示客户信息为空
5. 客户管理模块,修改功能中的所属民族下拉框不能正常显示
6. 客户管理模块,修改功能中的证件类型下拉框不能正常显示
7. 客户管理模块,客户性别修改不成功
8. 客户管理模块,删除信息时,信息提示框显示不出来
9. 房源管理模块,新增信息时,必输项没有校验且没有提示信息
10. 房源管理模块,不能多条信息同时删除
11. 房源管理模块,未选择房源信息时提示信息不准确
12. 房源管理模块,点击修改时原有信息不能完全显示出来,需在文本框中点击后才可显示
13. 资费管理模块,条件搜索功能没有“改输入项为必输项”的相关提示信息
14. 资费管理模块,修改界面不能正常显示
15. 资费管理模块,删除资费信息后,页面不能正常显示
16. 登陆模块,用户名和密码框错位,不美观
17. 系统用户模块,点击新增按钮,不能显示新增信息界面
18. 系统用户模块,不选中信息点击删除按钮,不能显示提示信息
19. 登陆模块,背景图片在猎豹浏览器不能正常显示
20. 系统用户模块,新增administrator用户后,该用户没有管理员权限
4.3.2 未修复的问题
1.选择一条资费项目信息,点击“修改”按钮,弹出的是“修改房源信息”窗口,显示名称错误
2. 输入客户姓名,其他信息为空,按“搜索”按钮,无查询显示结果
3. 择一条合同信息,点击“修改”按钮②选择房源类型③点击“确定”按钮,房源下拉框内容不完整
4. ①择一条合同信息,点击“修改”按钮②选择房源用途③点击“确定”按钮,房源用途下拉框内容不完整
5 对软件功能的结论
5.1 功能性
系统正确实现了房屋租售管理系统用户登陆、基础数据维护、用户管理、租售业务办理、菜单管理等功能。系统还实现了将权限控制细化到菜单按钮的功能。
测试过程中所发现的BUG已解决,无致命或严重BUG遗留,根据项目的实际情况建议系统转验证测试。
5.2 易用性
现有系统实现了如下易用性:
ü 查询,添加,删除,修改操作相关提示信息的一致性,可理解性
ü 输入限制的正确性
ü 输入限制提示信息的正确性,可理解性,一致性
ü 界面排版美观、简洁
现有系统存在如下易用性缺陷:
ü 输入缺少解释性说明
5.3 兼容性
本系统支持Windows下的IE7、IE8和猎豹浏览器,也支持在安卓系统下的手机QQ浏览器。
未进行其他系统及浏览器兼容性测试。
5.4 安全性
现有系统控制了以下安全性问题:
ü 直接输入某一页面的Url能否打开页面并进行操作不应该允许。
ü 用户名和密码应对大小写敏感
现有系统未控制以下安全性问题:
ü 登陆错误次数限制
ü 把某一个登录后的页面保存下来,不能单独对其进行操作不进行登录
6 分析摘要
6.1 建议
ü 在项目开始的时候应该制定编码标准,数据库标准,需求变更标准,开发和测试人员都严格按照标准进行,可以在后期减少因为开发,测试不一致而导致的问题,同时也可以降低沟通成本。
ü 发布最终版本的时候,正确布置测试环境,减少因为测试环境,测试数据库数据的问题而出现的无效bug。
ü 开发人员解决bug的时候,填写bug原因以及解决方式,方便bug的跟踪。
ü 开发人员在最终版本上发现bug,可以通知测试人员,因为开发人员发现的bug很有可能在测试版本上出现,而测试人员和开发人员的思路不同,有可能测试人员没有发现该bug。
6.2 评价
系统总共有6个问题未得到修复,此问题不影响系统使用,都是一些易用性的问题。暂时可以不用进行修改处理。
7 总结
接触软件测试已经有一段时间了,从什么都不懂到对软件测试有了一定的了解,经历了不少坎坷,自己也学到了太多太多。
从软件测试和软件可靠性理论入手,对现有的软件可靠性技术进行了系统的研究。软件测试是软件开发过程中的重要内容之一,是软件质量的保证关键。软件测试贯穿软件开发的整个开发生命周期。
当然这只是我对软件测试的表面了解,在以后的学习中一定要多看书,首先要有更多的理论知识,再将其运用到实践当中,两者结合,才能将自己本身的能力发挥出来。
在实习工作之余,对“房屋租售管理系统”进行了测试。通过同事以及老师的帮助,克服了重重困难,终于要为这个项目画下一个圆满的句号。我们学习的就是软件测试,对此软件进行测试发现错误就是我们的任务。在写测试用例的时候,要对界面是否美观,功能是否完善等一系列因素去考虑。把与实际不相符合的单列出来,这就是缺陷。
紧张测试工作终于完成了,及时的总结才能不断的进步,这次对“房屋租售管理系统”的测试过程中,经过大量的测试,设计大量的测试用例,采用测试工具进行测试极大的加速了测试过程,并且进一步加强了对测试工具的了解。通过这次测试,不但掌握了测试的整个流程,也加强了我对完成一件事情的责任感、坚持和耐心,而且进一步提高了“房屋租售管理系统”的质量,基本上完成了这次测试任务。
致谢
光阴似箭,转眼间,四年的大学生活即将结束,依依不舍之情难以言表,总结大学四年的生活,感觉获益颇多,在这里需要感谢的人很多,是他们让我从知识到人格上有了一个全新的改变。
感谢所有任课老师这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我学习方法。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有老师培养出越来越多的优秀人才,桃李满天下。
同时也感谢学院一直以来在学习和生活上对我的关心和帮助。
四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。通过四年的锻炼与学习,如今我有信心接受任何新的挑战和考验。
在论文即将完成之际,我的心情无法平静,要感谢的人太多,要说得话也太多,尽管文字很无力,但我还是想用无力的语言表达我想说的话,故借写论文致谢信之机向各位可敬的师长、同学、朋友表达我最诚挚的谢意!
参考文献:
[1] 王健,苗勇,刘郢.软件测试员培训教材.电子工业出版社,2003.9
[2] 蔡琰. 浅谈功能测试用例模板设计.软件测试杂志.2005第1期
[3] 贺平.软件测试教程.电子工业出版社,2005.6
[4] 吴长安.软件测试的若干问题.软件测试杂志.2007.4.4期
[5] Grenford J. Myers.The Art of Software Testing.机械工业出版社,2012.4
[6] 朱少民.软件测试方法和技术第二版.清华大学出版社,2010.7
[7] 蔡为东.软件测试实战:测试Web MSN.科学出版社,2006.6
[8] 惠特克.探索式软件测试.清华大学出版社,2010.4
第 14 页(共 14 页)
展开阅读全文