1、中山大学南方学院2017届本科生毕业论文(设计) 中山大学南方学院 装 订 线 本科生毕业论文(设计) 基于小区物业管理系统测试设计与实现 系 名:电子通信与软件工程系 专 业:通信工程 学 号:132014098 姓 名:王嘉颖 指导教师:温泉思(讲师) 二○一七 年 三 月 摘 要 从IT产业的发展初期到目前的大型开发过程,测试已成为其中一个不可分割的部分。随着各种程序规模的日益增大,如何测试的
2、问题也日益突出,现代社会对软件的需求越来越强,高可信的测试有着广泛的需求,基于缺陷模式的测试工程作为高可信程序的重要保证,可以大大降低程序的缺陷密度,提高软件的可信性。由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求,或识别期望的结果和实际结果之间的差别。它是软件工程的一部分,它随着开发应运而生,并随着软件开发的产业化而受到重视。 用一句话来概括,测试就是不断发现缺陷,并不断修正的过程,而这也正是本文所体现的流程主线。本文从测试的基本概念入手,使用目前标准的黑盒测试技术,对小区物业管理系统进行功能、界面、兼容性测试以及修复后的回归测试。通过实现标准的测试流程,从测
3、试计划和测试用例的编写,到实现每个模块的测试验证和反馈测试报告,深入剖析测试的相关技术和理论。 关键词:测试,黑盒测试,软件工程,测试工程 V ABSTRACT From the beginning of the development of the IT industry to the current process of large-scale development, has become an integral part of the test. Increases along with the increasing scale of various program
4、s, how to test is also becoming increasingly prominent, growing demand for software in the modern society, high-confidence test has a wide range of needs, based on the failure mode of test engineering as an important guarantee for high-confidence procedures, you can greatly reduce the process of def
5、ect density, improve the dependability of software. By manual or automatic way to perform evaluation system or system component or process, to verify that it meets specified requirements, or identify the difference between the expected results and actual results. It is part of the software engineeri
6、ng, it is with the development came into being, and valued with the industrialization of software development. To sum up in one sentence, testing is constantly discovering defects and correction process, and this is also reflected in this article focusing on the process. From the testing begins wit
7、h the basic concept of using black box testing techniques currently standard, on residential property management system functions, interfaces, compatibility testing, and regression testing after repair. By implementing a standard testing process, from writing test plans and test cases, testing and f
8、eedback to implement each module test report, in-depth analysis of test technology and theory. Key words: testing, black box testing, software engineering, test engineering 目 录 摘 要 I ABSTRACT II 目 录 III 第1章 前言 1 1.1测试背景及由来 1 1.2测试的目的和意义 2 1.3论文的主要内容 2 第2章 测试的主要内容与工具简介 3 2.1测试内容说明
9、 3 2.2主要方法简介 3 2.2.1功能测试 3 2.2.2链接测试 4 2.2.3自动化测试 4 2.2.4并发测试 4 2.2.5兼容性测试 4 2.2.6界面测试 4 2.2.7回归测试 4 2.3测试流程 5 2.4测试工具简介 6 2.4.1 Selenium介绍 6 2.4.2 LoadRunner介绍 6 2.4.2 Xenu介绍 6 第3章 小区物业管理系统模块结构及功能 7 3.1游客部分模块结构介绍 7 3.1.1业主注册 7 3.1.2业主登录 7 3.1.3信息浏览 7 3.2业主部分模块结构介绍 7 3.2.1信息修改 7
10、 3.2.2费用缴纳 7 3.2.3车位租用 7 3.2.4添加投诉/报修/留言 7 3.2.5信息浏览 7 3.3管理员部分模块结构介绍 8 3.3.1密码修改 8 3.3.2回复投诉/报修/留言 8 3.3.3收费添加 8 3.3.4信息管理维护 8 第4章 测试方案设计 9 4.1 测试方案概述 9 4.2 测试内容 9 4.2.1 功能测试 9 4.2.2 链接测试 9 4.2.3 并发测试 9 4.2.4 兼容性测试 9 4.2.5 界面测试 9 4.2.6 回归测试 10 4.3 测试计划 10 4.4 测试准备 10 4.4.1 人力资
11、源准备 10 4.4.2 测试环境准备 10 第5章 测试用例设计 11 5.1 测试用例概述 11 5.2 测试用例设计 11 5.2.1 功能测试用例 11 5.2.2 性能测试用例 18 5.2.3 兼容性测试用例 19 5.2.4 界面测试用例 19 第6章 测试的实施与结果统计 22 6.1 功能及界面测试实施与结果 22 6.2 链接测试实施与结果 26 6.3 并发测试实施与结果 26 6.4 兼容性测试实施与结果 27 6.6 回归测试实施与结果 28 6.6.1自动化测试回归结果 28 6.6.1分析与建议 28 6.6.2测试结果统计 2
12、8 第7章 系统缺陷单 30 第8章 总结与展望 41 致 谢 43 参考文献 44 附 录 45 附录一 自动化测试脚本代码 45 附录二 注册功能并发测试脚本代码 46 附录三 登录系统并发测试脚本代码 48 附录四 注册功能并发测试结果分析图 50 附录五 登录系统并发测试结果分析图 51 附表一 毕业论文(设计)开题报告 53 附表二 毕业论文(设计)过程检查情况记录表 56 附表三 毕业论文(设计)答辩情况表 58 第1章 前言 1.1测试背景及由来 测试是伴随着软件的产生而产生的。早期的开发过程中,测试的含义比较狭窄,把测试等同于“
13、调试”,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。 直到1957年,测试才开始与调试区别开来,作为一种发现程序流程缺陷的活动。由于一直存在着“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,测试仍然是后于开发的活动,因为潜意识里,我们的目的是使自己确信产品能工作。 到了20世纪70年代,尽管对软件工程的真正含义还缺乏共识,但这一词条已经频繁出现。1972年,在美国北卡罗来纳大学举行了首届软件测试正式会议。1979年,Glenford Myers的《软件测试艺术》(The
14、Art of Software Testing)中给出当时最好的定义:“测试是为发现错误而执行的一个程序或者系统的过程。” 直到上世纪80年代早期,“质量”的号角才开始吹响。测试的定义发生了改变,这不单纯是一个发现错误的过程,而且包含质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,包括IEEE(Institute of Electrical and Electronic Engineers)标准、美国ANSI(American National Standard Institute)标准以及ISO(International Standard O
15、rganization)国际标准。1983年,Bill Hetzel在《软件测试完全指南》(Complete Guide of Software Testing)中指出:“测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。”Myers和Hetzel的定义至今仍被引用[1]。 上世纪90年代,测试工具终于盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。 到了2002年,Rick和Stefan在《系统的软件测试》(Systematic Software Testing)中对软件测试做了进一步定义:“测试是为了度量
16、和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。”这些经典论著对软件测试研究的理论化和体系化产生了巨大的影响。 而近20年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了很大的突破。测试专家总结了很好的测试模型,比如著名的V模型、W模型等,在测试过程改进方面提出了TMM(Testing Maturity Model)概念,在单元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具[2]。 1.2测试的目的和意义 如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目
17、的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 在谈到软件测试时,引用Grenford J. Myers在《The Art of Software Testing》一书中的观点:软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不
18、出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。 1.3论文的主要内容 本文前半段主要介绍了测试的理论知识,包括测试的由来及其意义,测试的主要内容、方法和流程,还有当下用于测试的软件和工具。本文的测试内容主要体现黑盒测试的理论知识和意义,主要包括功能测试、界面测试、兼容性测试和并发测试等等。测试工具的介绍包括
19、用于自动化测试的Selenium、用于测试系统性能的LoadRunner以及用于测试系统死链接的Xenu。 本文中部主要介绍本次测试的主体——小区物业管理系统。主要从系统概要设计入手,将系统分为三个角色,各功能模块主要以大体功能分开,辅以增删查改的数据流区别开,简述了大体的业务主流程。小区物业管理系统的详细模块划分将在本文后半段的功能及界面测试结果表中列出。中部除介绍系统功能外还针对本系统详细地设计了测试用例,包括功能、性能、界面以及兼容性方面的测试用例,功能和界面测试用例标准参考测试用例管理系统Testlink,其余结合本系统及测试需要由本人设计。 本文后半部分主要总结了这次测试的结果,
20、包括实施测试后的结果,本次测试的总结(主要体现在回归测试结果中),系统缺陷单等。最后的总结与展望包括对本文的结题感想,以及作者本人基于测试工程师的职业生涯展望。 第2章 测试的主要内容与工具简介 2.1测试内容说明 第一大点为验证(verification),验证是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情(Do the right thing) [3]。 最基础的即确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;第二,程序正确性的形式证明,即采用形式理论证明程序符号设计规约规定的过程;最后更包括评市、审查、测试、检查、审计等
21、各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。 第二点为确认(validation),确认是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right) [3]。静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性;动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,比如需求规格说明、概要设计文档、详细设计文档等等。当然,软件测试的主要对象还是
22、源程序。 2.2主要方法简介 2.2.1功能测试 功能测试(Functional testing),也称为行为测试(behavioral testing),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作[4]。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。 功能测试也叫黑盒测试或数据驱动测试,只需考
23、虑需要测试的各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。 2.2.2链接测试 测试该网站系统下所有链接是否按指示的那样确实链接到了应该链接的页面,以保证链接的正确性。测试所链接的页面是否存在,即单击某个地址之后,应该能够达到正确的页面,并且网站中的页面彼此之间有联系,而不是独立在整个系统之外,没有孤立的页面。而所谓的孤立页面是指没有链接指向该页面,只有知道正确的URL 地址才能访问。 2.2.3自动化测试 自动化测试是把以人为驱动的测试行为转化为
24、机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较[5]。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试。 2.2.4并发测试 主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题,几乎所有的性能测试都会涉及并发测试[6]。而并发测试目的并非为了获得性能指标,而是为了发现并发引起的问题。在具体的性能测试工作中,并发用户往往都是借助工具来模拟的。 2.2.5兼容性测试 一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼
25、容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。那么,兼容性测试则是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。 2.2.6界面测试 界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等[7]。 2.2.7回归测试 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生
26、错误。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。 2.3测试流程 图2-1 测试流程图[8] 总结如下:当项目立项后,我们首先根据SVN上面的策划书对相应的模块编写测试用例。如果后期的策划书有改动的话,我们也需要改动相应的测试用例。 前期开发工作完成后,我们要对系统进行功能测试,测试的依据就是前期编写的测试用例,执行完测试用例后会发现很多问题,这时我们要对问题进行重现,然后提交到bug系统中。当程序能实现基本功能后,我们可以根据自己的习惯或方法,进行一些非正常操作行为测试,这样能发现一些正常操作下不能重
27、现的但可能存在的问题。 通过上面的测试后,在功能上我们就差不多可以实现了。这时我们就必须通过各种浏览器进行兼容性测试,各个浏览器可能出现的问题不同,这个时候就要总结出规律,把一类的问题统一提交,避免相关的问题重复提出。 当开发解决了我们的bug并提交验证,我们需要对相应的bug进行回归测试。如果发现问题解决了就可以通过相关的负责关闭这些问题,如果发现还存在bug的话就需要根据问题的性质选择返工或新建bug。 2.4测试工具简介 2.4.1 Selenium介绍 Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的
28、浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上;测试系统功能——创建回归测试以检验软件功能和用户需求[9]。 2.4.2 LoadRunner介绍 LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试[10]。企业使用LoadRunner能最大限度地缩短测试时间,优化
29、性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。 2.4.2 Xenu介绍 Xenu最小但功能最强大的检查网站死链接的软件。它支持打开一个本地网页文件来检查链接,也可以输入任何网址来检查。通过设置并列线程可检测最大层数,运行检测后它可以分别列出网站的活链接、死链接以及连转向链接。最后,Xenu还可以把检查结果存储成文本或网页文件。 第3章 小区物业管理系统模块结构及功能 3.1游客部分模块结构介绍 3.1.1业主注册 游客模式下,已在小区内入手商品房的业主可自行注册。需录入信息包括登录名
30、密码、姓名、身份证号、联系电话、车牌号(非必填)、房产。房产信息则为业主入住房号,具体信息由管理员维护。 3.1.2业主登录 使用登录名和密码登录业主端 3.1.3信息浏览 游客端可浏览信息包括首页房源信息、小区概况、小区公告、车位信息、业主投诉、业主报修。以上模块均由管理员在后台管理维护。 3.2业主部分模块结构介绍 3.2.1信息修改 业主登录后,注册时录入的信息均可修改,如密码、房产信息等。 3.2.2费用缴纳 在我的信息模块可查看当前登录的业主该缴纳的费用金额,点击缴纳模拟网银收费,管理员端的收费模块下,该笔费用会有对应的状态变更。 3.2.3车位租用 登录业主
31、端后点击车位信息可查看目前的车位,并支持登记租用车位。 3.2.4添加投诉/报修/留言 业主可在业主投诉、业主报修、业主留言等三大模块提交投诉、报修或留言信息,可查看物业回复。 3.2.5信息浏览 成功登录业主端可浏览信息包括游客端的所有可浏览信息,另外还可在财务公开模块浏览小区物业的财务信息 3.3管理员部分模块结构介绍 3.3.1密码修改 管理员的基本信息模块下可修改当前登录的管理员密码。 3.3.2回复投诉/报修/留言 处理小区内住户发布的投诉、报修以及留言,该模块支持对投诉报修的内容进行模糊查询,对所有收到的信息进行回复。 3.3.3收费添加 收费管理模块,管理员
32、可查看,查询及添加住户该缴纳费用,登记缴纳费用后住户可根据情况缴纳费用,管理员可通过修改该项费用的状态,协助物业小区后台进行收支统计。 3.3.4信息管理维护 管理员可管理模块包括以下九大模块。 1.财产管理:对小区内设备及其规格、维修次数(由维修记录获取)和存放的位置等信息进行管理; 2.公告管理:可发布、维护管理公告,如催费公告; 3.住户管理:可对本物业小区内的住户进行迁入迁出等操作。在住户有欠费时不让其作迁出操作。 4.房产管理:添加并维护房产信息,使新业户可选择自己的房址; 5.车位管理:可查询、添加、编辑车位,可以查看当前租用车位的住户信息,对业户租用的车位进行回收,
33、空置车位可删除; 6.绿化管理:可对绿化项目进行增删改查的管理,添加的费用用于计算区物业收支; 7.员工管理:管理小区内员工(含保安、保洁和维修人员等)及相关信息,如员工编号、性别、住址和身份证等; 8.收支平衡:输入年份可查询该年份下的收支状况; 9.维修记录:管理小区内设备的维修情况,可对维修单子进行增删改查等编辑。 第4章 测试方案设计 4.1 测试方案概述 测试方案在整个测试分析设计过程中,起到的是一个承上启下的作用。本节主要针对小区物业管理系统进行全方面的测试方案设计。 4.2 测试内容 4.2.1 功能测试 参考资料为开发人员杨丽媛提供的物业小
34、区管理系统概要设计,主要测试内容为系统内各角色下各子模块的功能实现,采用边界值探测法、等价类划分法以及场景法等测试方法对系统功能进行业务主流程测试。系统结构及功能详细介绍可见本文第三章。 4.2.2 链接测试 从小区物业管理系统各角色的根目录开始搜索所有的网页文件,对所有网页文件中的超级链接、图片文件、包含文件、CSS文件、页面内部链接等所有链接进行读取,如果是网站内文件不存在、指定文件链接不存在或者是指定页面不存在,则将该链接和处于什么文件的具体位置记录下来,一直到该网站所有页面中的所有链接都测试完后才结束测试,并输出测试报告。 4.2.3 并发测试 使用LoadRunner性能测试
35、工具创建虚拟用户,模拟实际情况实现同时多人登录或操作的测试环境,对小区物业管理系统进行并发测试。 4.2.4 兼容性测试 分别在火狐浏览器、IE浏览器、360浏览器下打开系统链接,保证所有功能在不同浏览器,及各个浏览器的不同版本环境下均可运行。 4.2.5 界面测试 通过浏览测试本系统是否能够正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab 键、鼠标移动和快捷键)的使用,还有窗口的对象和特征(例如:菜单、大小、位置、状态和中心)都是否符合标准。 4.2.6 回归测试 验证开发人员修复好的BUG,保证模块数据流向正确,各项数据完整,
36、准确,且不引入新问题。正确的回归测试策略保证回归测试的效率和有效性,本次回归测试引入自动化测试,为小区物业管理系统的注册到登录及修改密码的主流程线编写自动化测试脚本验证BUG0001和BUG0003的修复结果。 4.3 测试计划 表4-1 测试计划表 测试阶段 任务 工作量 人员分配 时间 编写测试用例 根据需求,编写出测试用例 16h 王嘉颖 2017-2-7至2017-2-8 系统测试 (1)主流程测试 (2)提交测试报告 (3)提交系统缺陷单 10h 王嘉颖 2017-2-18 回归测试 (1)更新测试环境 (2)对bug进行验证回归 (3)
37、主流程测试 (4)提交测试报告 (5)修改系统缺陷单 10h 王嘉颖 2017-2-21 4.4 测试准备 4.4.1 人力资源准备 测试人员:王嘉颖 4.4.2 测试环境准备 1.测试服务器地址:127.0.0.1 2.软件:jdk1.6.0+Apache-tomcat-6.0.13 3.操作系统:Windows7、Windows 10 4.浏览器:Firefox43.0.1、IE8、360se、Google Chrome45 第5章 测试用例设计 5.1 测试用例概述 测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、
38、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。本次功能测试用例不全部展示,只挑选部分用例用于展示典型的黑盒测试方法。 5.2 测试用例设计 5.2.1 功能测试用例 表5-1 测试用例SSH_CRUD-001 测试用例 SSH_CRUD-001: 业主注册-基本流 前提: 游客端 #: 步骤动作: 期望的结果: 1 在首页点击注册按钮; 弹出业主注册窗口,待录入字段为登录名、密码、姓名、身份证号、联系电话、车牌号及房产; 2 各项均正确填写,点击注册; 提示“操作成功!”; 3 点击关闭窗口。 窗口关闭。 测试方式: 手工 关
39、键字: 业主注册 表5-2 测试用例SSH_CRUD-002 测试用例 SSH_CRUD-002: 业主注册-备选流-非空验证 前提: 游客端 #: 步骤动作: 期望的结果: 1 在首页点击注册按钮; 弹出业主注册窗口,待录入字段为登录名、密码、姓名、身份证号、联系电话、车牌号及房产; 2 必填项空出不填,点击注册; 提示“XXX不能为空!”; 3 点击关闭窗口。 窗口关闭。 测试方式: 手工 关键字: 业主注册 表5-3 测试用例SSH_CRUD-003 测试用例 SSH_CRUD-003: 业主注册-备选流-重复验证 前提: 游客端
40、 #: 步骤动作: 期望的结果: 1 在首页点击注册按钮; 弹出业主注册窗口,待录入字段为登录名、密码、姓名、身份证号、联系电话、车牌号及房产; 2 输入重复登录名,其他项正确填写,点击注册; 提示“登录名已存在!”; 3 点击关闭窗口。 窗口关闭。 测试方式: 手工 关键字: 业主注册 表5-4 测试用例SSH_CRUD-004 测试用例 SSH_CRUD-004: 公告管理-基本流-增与删 前提: 管理员端 #: 步骤动作: 期望的结果: 1. 物业管理->公告管理->添加按钮; 弹出添加公告窗口,待输入字段包括标题和内容; 2
41、 必填项不填,点击提交信息; 提示“XXX不允许为空”; 3 填写合适的信息,点击提交信息; 提示“操作成功”并显示新增公告; 4 点击某公告记录基本操作的删除; 提示“确认删除该公告?”; 5 点击确定后提示删除成功。 菜单自动刷新,删除的公告不再显示。 测试方式: 手工 关键字: 公告管理 表5-5 测试用例SSH_CRUD-005 测试用例 SSH_CRUD-005: 收费管理-基本流 前提: 管理员端和业主端 #: 步骤动作: 期望的结果: 1 登录管理员端->物业管理->收费管理->添加; 弹出添加催费通知窗口,待选填字段包括收费
42、类型、住户、收费时间、金额、缴费状态、备注; 显示提交信息和重新填写按钮; 2 随意选填各项,点击重新填写; 弹窗内容被清空; 3 必填项空出不填,点提交信息; 提示“XXX不能为空!”; 4 缴费状态选择“未缴费”,各项均正确选填,点击提交信息; 提示“操作成功!”; 5 登录业主端->我的信息; 第一栏显示缴费通知列表,返回字段包括费用类型、金额、费用日期、备注、操作(缴纳); 6 点击缴纳模仿网银或线下缴费; 我的信息页面自动更新,点击了缴费的缴费单不再显示; 7 登录管理员端->物业管理->收费管理; 返回列表中可见业主已处理的缴费单状态被置为“待
43、处理”; 8 管理员确认业主已缴费后,点击该记录基本操作中的编辑; 弹出修改催费通知窗口,返回字段包括收费类型、住户、收费时间、金额、缴费状态、备注,所有返回数据均准确无误; 显示提交信息和重新填写按钮; 9 将缴费状态改为“已缴费”,点击提交信息。 提示“操作成功”后返回列表,列表自动刷新,对应记录的状态被置为已缴费。 测试方式: 手工 关键字: 收费管理 表5-6 测试用例SSH_CRUD-006 测试用例 SSH_CRUD-006: 收支平衡-基本流 前提: 管理员端->物业管理 #: 步骤动作: 期望的结果: 1 维修记录->点击添
44、加->填写各项(今年)->点击提交信息 ; 提示“操作成功”,添加一条费用为X的维修记录; 2 绿化管理->点击添加->填写各项(今年)->点击提交信息 ; 提示“操作成功”,添加一条费用为X的绿化项目; 3 收支平衡->不选时间->点查询; 提示“请输入时间”; 4 选择时间(今年)->点击查询。 显示今年各项收入及结余。 测试方式: 手工 关键字: 收支平衡 表5-7 测试用例SSH_CRUD-007 测试用例 SSH_CRUD-007: 修改密码-基本流 前提: 管理员端 #: 步骤动作: 期望的结果: 1 基本管理->修改登录密码;
45、 进入修改登录密码页面,显示待输入文本包括:请输入原密码、请输入新密码、请重复新密码; 2 随意选填各项,点击重新填写; 弹窗内容被清空; 3 不输入原密码,点击提交信息; 提示“请输入原密码”; 4 不输入新密码,点击提交信息; 提示“请输入新密码”; 5 不重复输入新密码或填写错误重复密码,点击提交信息; 提示“两次密码输入不一致”; 6 各项均准确填写,点提交信息。 提示“修改密码成功请重新登录”。 测试方式: 手工 关键字: 修改密码 表5-8 测试用例SSH_CRUD-008 测试用例 SSH_CRUD-008: 投诉/报修处
46、理-基本流 前提: 管理员端(投诉处理、报修处理)和业主端(业主投诉、业主报修) #: 步骤动作: 期望的结果: 1 登录业主端->点击业主投诉/业主报修; 显示所有业主的投诉/报修内容; 2 直接点击提交; 提示“内容不能为空”; 3 填写投诉/报修内容->点提交; 页面自动刷新,新建的投诉/报修显示在最顶端,标题后带有时间; 4 点击投诉/报修的内容; 显示投诉/报修的内容和时间,物业无回复; 5 登录管理员端->物业管理->投诉/报修处理; 我的投诉/报修信息页面,显示搜索框和投诉/报修列表,字段包括内容、物业方面处理意见、时间和处理(处理及删除),
47、底部有列表浏览导航; 6 点击某记录的处理; 弹出处理信息窗口,文本框下方显示提交信息和重新填写按钮; 7 随意输入后点击重新填写; 填写的内容被清空; 8 填写处理信息后点击提交信息; 提示“操作成功”,列表自动刷新,处理过的记录中物业方面处理意见字段返回数据准确,与填写内容一致; 9 登录业主端->点击业主投诉/业主报修->点击刚刚处理过的对应的投诉/报修的记录。 显示投诉/报修的内容和时间,物业回复与填写的处理信息一致。 测试方式: 手工 关键字: 投诉处理、报修处理、业主投诉、业主报修 表5-9 测试用例SSH_CRUD-009
48、 测试用例 SSH_CRUD-009: 住户管理-基本流 前提: 管理员端 #: 步骤动作: 期望的结果: 1 物业管理->住户管理->点击编辑; 弹出修改住户信息窗口,返回字段包括登录名、密码、姓名、身份证号、联系电话、车牌号、房产;字段返回值均准确无误,显示提交信息和重新填写按钮; 2 点击重新填写; 文本框被清空; 3 必填项不填,点击提交信息; 提示“XXX不能为空!”; 4 合理填写所有信息,点击提交信息; 提示“操作成功”; 5 点击某条信息基本操作中的删除; 提示“确认删除该记录?”; 6 点击确认。 列表自动刷新,该条信息不再显示。
49、 测试方式: 手工 关键字: 住户管理 表5-10 测试用例SSH_CRUD-010 测试用例 SSH_CRUD-010: 住户管理-备选流 前提: 管理员端 #: 步骤动作: 期望的结果: 1 物业管理->收费管理->点击添加,其余字段填写合理信息,状态选择未缴费,点击提交信息; 添加一条某居民未缴费类型的记录; 2 点击住户管理; 显示住户列表,各字段返回正常; 3 点击刚添加未缴费单的居民的基本操作中的查看,将其房产改为迁出。 提示“该业主存在欠费单,迁出失败”。 测试方式: 手工 关键字: 住户管理 表5-11 测试用例S
50、SH_CRUD-011 测试用例 SSH_CRUD-011: 车位管理-基本流 前提: 管理员端和业主端 #: 步骤动作: 期望的结果: 1 登录管理员端,点击车位管理; 显示车位信息列表,返回字段包括车位号、位置、车辆信息、状态(已使用/空置)以及基本操作; 状态为已使用的基本操作有住户信息、车辆出位、编辑;状态为空置的基本操作有删除、车辆入位、编辑; 2 点添加,空出必填项,点提交信息; 提示“XXX不能为空!”; 3 地址填已存在地址,点击提交信息; 提示“改地址已存在车位信息”; 4 填写正确信息后点击提交信息; 提示“操作成功”,列表自动刷新,显示






