1、中山大学南方学院 2017 届本科生毕业论文(设计)本科生毕业论文(设计)基于小区物业管理系统测试设计与实现系 名:电子通信与软件工程系专 业:通信工程学 号:132014098姓 名:王嘉颖指导教师:温泉思(讲师)装订线中山大学南方学院中山大学南方学院 2017 届本科生毕业论文(设计)二一七 年 三 月中山大学南方学院 2017 届本科生毕业论文(设计)I摘 要从 IT 产业的发展初期到目前的大型开发过程,测试已成为其中一个不可分割的部分。随着各种程序规模的日益增大,如何测试的问题也日益突出,现代社会对软件的需求越来越强,高可信的测试有着广泛的需求,基于缺陷模式的测试工程作为高可信程序的重
2、要保证,可以大大降低程序的缺陷密度,提高软件的可信性。由人工或自动方法来执行或评价系统或系统部件的过程,以验证它是否满足规定的需求,或识别期望的结果和实际结果之间的差别。它是软件工程的一部分,它随着开发应运而生,并随着软件开发的产业化而受到重视。用一句话来概括,测试就是不断发现缺陷,并不断修正的过程,而这也正是本文所体现的流程主线。本文从测试的基本概念入手,使用目前标准的黑盒测试技术,对小区物业管理系统进行功能、界面、兼容性测试以及修复后的回归测试。通过实现标准的测试流程,从测试计划和测试用例的编写,到实现每个模块的测试验证和反馈测试报告,深入剖析测试的相关技术和理论。关键词:测试,黑盒测试,
3、软件工程,测试工程中山大学南方学院 2017 届本科生毕业论文(设计)IIABSTRACTFrom 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 programs, how to test is also becoming increasingly p
4、rominent, 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 defect density, improve the dependability of soft
5、ware. 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 engineering, it is with the development came into being
6、, 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 with the basic concept of using black box testing t
7、echniques 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 feedback to implement each module test report, in
8、-depth analysis of test technology and theory.Key words: testing, black box testing, software engineering, test engineering中山大学南方学院 2017 届本科生毕业论文(设计)III目 录摘 要 .IABSTRACT .II目 录 .III第 1 章 前言 .11.1 测试背景及由来 .11.2 测试的目的和意义 .21.3 论文的主要内容 .2第 2 章 测试的主要内容与工具简介 .32.1 测试内容说明 .32.2 主要方法简介 .32.2.1 功能测试 .32.2.2
9、 链接测试 .42.2.3 自动化测试 .42.2.4 并发测试 .42.2.5 兼容性测试 .42.2.6 界面测试 .42.2.7 回归测试 .42.3 测试流程 .52.4 测试工具简介 .62.4.1 Selenium 介绍 .62.4.2 LoadRunner 介绍 .6中山大学南方学院 2017 届本科生毕业论文(设计)IV2.4.2 Xenu 介绍 .6第 3 章 小区物业管理系统模块结构及功能 .73.1 游客部分模块结构介绍 .73.1.1 业主注册 .73.1.2 业主登录 .73.1.3 信息浏览 .73.2 业主部分模块结构介绍 .73.2.1 信息修改 .73.2.2
10、 费用缴纳 .73.2.3 车位租用 .73.2.4 添加投诉/报修/留言 .73.2.5 信息浏览 .73.3 管理员部分模块结构介绍 .83.3.1 密码修改 .83.3.2 回复投诉/报修/留言 .83.3.3 收费添加 .83.3.4 信息管理维护 .8第 4 章 测试方案设计 .94.1 测试方案概述 .94.2 测试内容 .94.2.1 功能测试 .94.2.2 链接测试 .94.2.3 并发测试 .9中山大学南方学院 2017 届本科生毕业论文(设计)V4.2.4 兼容性测试 .94.2.5 界面测试 .94.2.6 回归测试 .104.3 测试计划 .104.4 测试准备 .1
11、04.4.1 人力资源准备 .104.4.2 测试环境准备 .10第 5 章 测试用例设计 .115.1 测试用例概述 .115.2 测试用例设计 .115.2.1 功能测试用例 .115.2.2 性能测试用例 .185.2.3 兼容性测试用例 .195.2.4 界面测试用例 .19第 6 章 测试的实施与结果统计 .226.1 功能及界面测试实施与结果 .226.2 链接测试实施与结果 .266.3 并发测试实施与结果 .266.4 兼容性测试实施与结果 .276.6 回归测试实施与结果 .286.6.1 自动化测试回归结果 .286.6.1 分析与建议 .286.6.2 测试结果统计 .2
12、8中山大学南方学院 2017 届本科生毕业论文(设计)VI第 7 章 系统缺陷单 .30第 8 章 总结与展望 .41致 谢 .43参考文献 .44附 录 .45附录一 自动化测试脚本代码 .45附录二 注册功能并发测试脚本代码 .46附录三 登录系统并发测试脚本代码 .48附录四 注册功能并发测试结果分析图 .50附录五 登录系统并发测试结果分析图 .51附表一 毕业论文(设计)开题报告 .53附表二 毕业论文(设计)过程检查情况记录表 .56附表三 毕业论文(设计)答辩情况表 .58中山大学南方学院 2017 届本科生毕业论文(设计)1第 1 章 前言1.1 测试背景及由来测试是伴随着软件
13、的产生而产生的。早期的开发过程中,测试的含义比较狭窄,把测试等同于“调试” ,目的是纠正软件中已经知道的故障,常常由开发人员自己完成这部分的工作。对测试的投入极少,测试介入也晚,常常是等到形成代码,产品已经基本完成时才进行测试。直到 1957 年,测试才开始与调试区别开来,作为一种发现程序流程缺陷的活动。由于一直存在着“为了让我们看到产品在工作,就得将测试工作往后推一点”的思想,测试仍然是后于开发的活动,因为潜意识里,我们的目的是使自己确信产品能工作。到了 20 世纪 70 年代,尽管对软件工程的真正含义还缺乏共识,但这一词条已经频繁出现。1972 年,在美国北卡罗来纳大学举行了首届软件测试正
14、式会议。1979 年,Glenford Myers 的软件测试艺术 (The Art of Software Testing)中给出当时最好的定义:“测试是为发现错误而执行的一个程序或者系统的过程。 ”直到上世纪 80 年代早期, “质量”的号角才开始吹响。测试的定义发生了改变,这不单纯是一个发现错误的过程,而且包含质量评价的内容。软件开发人员和测试人员开始坐在一起探讨软件工程和测试问题。制定了各类标准,包括 IEEE(Institute of Electrical and Electronic Engineers)标准、美国ANSI( American National Standard I
15、nstitute)标准以及 ISO(International Standard Organization)国际标准。 1983 年,Bill Hetzel 在软件测试完全指南(Complete Guide of Software Testing)中指出:“ 测试是以评价一个程序或者系统属性为目标的任何一种活动。测试是对软件质量的度量。 ”Myers 和 Hetzel的定义至今仍被引用 1。上世纪 90 年代,测试工具终于盛行起来。人们普遍意识到,工具不仅仅是有用的,而且要对今天的软件系统进行充分的测试,工具是必不可少的。到了 2002 年,Rick 和 Stefan 在系统的软件测试 (Sy
16、stematic Software Testing)中对软件测试做了进一步定义:“测试是为了度量和提高被测软件的质量,对测试件进行工程设计、实施和维护的整个生命周期过程。 ”这些经典论著对软件测试研究的理论化和体系化产生了巨大的影响。而近 20 年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了很大的突破。测试专家总结了很好的测试模型,比如著名的 V 模型、W 模型等,在测试过程改进方面提出了 TMM(Testing Maturity Model )概念,在单中山大学南方学院 2017 届本科生毕业论文(设计)2元测试、自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件
17、测试工具 2。1.2 测试的目的和意义如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。 在谈到软件测试时,引用 Grenford J. Myers 在 The Art of Software Testing一书中的观点:软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。 这种观点可以提醒人们
18、测试要以查找错误为中心,而不是为了演示软件的正确功能。但是仅凭字面意思理解这一观点可能会产生误导,认为发现错误是软件测试的唯一目,查找不出错误的测试就是没有价值的,事实并非如此。 首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。1.3 论文的主要内容本文前半段主要介绍了测试的理论知识,包括测试的由来及其意义,测试的主要内容、方法和流程,还有当下用于测试的软件和工具。
19、本文的测试内容主要体现黑盒测试的理论知识和意义,主要包括功能测试、界面测试、兼容性测试和并发测试等等。测试工具的介绍包括用于自动化测试的 Selenium、用于测试系统性能的 LoadRunner 以及用于测试系统死链接的 Xenu。本文中部主要介绍本次测试的主体小区物业管理系统。主要从系统概要设计入手,将系统分为三个角色,各功能模块主要以大体功能分开,辅以增删查改的数据流区别开,简述了大体的业务主流程。小区物业管理系统的详细模块划分将在本文后半段的功能及界面测试结果表中列出。中部除介绍系统功能外还针对本系统详细地设计了测试用例,包括功能、性能、界面以及兼容性方面的测试用例,功能和界面测试用例标准参考测试用例管理系统 Testlink,其余结合本系统及测试需要由本人设计。