《小区物业管理系统-软件工程毕业论文.doc》由会员分享,可在线阅读,更多相关《小区物业管理系统-软件工程毕业论文.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、三 江 学 院本科毕业设计(论文)题 目 小区物业管理系统- 计算机科学与工程 院(系) 软件工程 专业学生姓名 魏宗斌 学号 12009054022 指导教师 彭雅琴 职称 讲师 指导教师工作单位 三江学院 起讫日期 2013.2.202012.5.17 摘 要软件测试随着软件产品的发展应运而生,现今的软件测试已不再只是为发现软件的缺陷和错误而存在,它已成为对软件的质量进行度量和评估的标准。功能测试是软件测试中最基本的测试,所以对功能测试的研究非常重要。本文首先介绍了TestLink和BugFree测试工具,描述了DG产品的基本功能,并且从单功能测试和业务场景测试两个方面入手,编写适合功能特
2、点的测试用例,最后验证了产品功能是否符合用户需求,体现了测试的意义。关键词:功能测试;加密;黑盒测试;测试用例ABSTRACT Software testing emerged with the development of software products. Nowadays, software testing is no longer just for the discovery of software bugs and errors,it has become a standard of measurement and evaluation of the quality. Functi
3、onal testing is the most basic test in software testing. Therefore, the study of functional testing is very important. The paper first introduces TestLink and BugFree tool, and then it describes the functions of DG. The study starts with the two aspects of the single-function testing and business sc
4、enario testing. According to the character of the function, the paper chooses appropriate method to write test cases, finally it verifies the product functions meet to the users needs and reflects the significance of the test.Key words: Functional test; Encryption; Black-box testing; Test case目 录第一章
5、 引言11.1课题研究背景11.2课题发展现状与未来11.3本文的主要内容2第二章 技术平台32.1TestLink工具介绍32.1.1简介32.1.2实现功能32.1.3 测试用例管理32.1.4创建测试用例42.2Access工具介绍42.2.1简介42.2.2使用52.3软件测试方法概述52.3.1按测试方法划分52.3.2黑盒测试方法列举6第三章 功能测试设计和实现83.1DG产品简介83.2测试需求分析和方案93.3单功能测试113.3.1自定义密钥113.3.2分级管理163.4业务场景测试213.4.1配置word受控213.4.2注册客户机243.4.3注销客户机25第四章 总
6、结和展望274.1测试过程中学到的东西274.2测试过程中遇到的问题以及未解决的问题27致 谢28参考文献29 三江学院2013届本科生毕业设计(论文)第一章 引言1.1课题研究背景毫无疑问,从20世纪60年代到现在,计算机主宰了世界的眼球,而它的灵魂体现-软件,也承载了一代又一代渴望改变世界的人们的热忱,它变的完备,性感,包罗万象。软件是从早期以个人活动为主的手工作坊开发方式,逐步转变成了以程序员小组为代表的集体开发方式,而这伟大的蜕变过程,并不是一蹴而就的,它伴随着苦痛,这段历程一直走到了现在。那些凝聚了前辈们智慧的软件系统,有些最终失败,烟消云散;有些虽经过不懈的努力诞生于世界,但它的晚
7、来与预算的超出也让人心存遗憾,;还有些却迟迟不能达到人们对它期望的高度;甚至有的干脆无法被修改和维护,而这些,还将继续上演。 软件测试是这些苦难中开出的百合,它应运而生。早期的百合显得黯淡,不美丽,只是为了纠正软件中已经知道的故障,常常由开发人员自己完成这部分工作,并且没有得到悉心的照料,而现在,它已成为一种艺术。它重新诠释自己是在20世纪80年代,检验软件系统是否满足需求成了它新生的意义,它不再孤独,一次性的存在,它与改变世界的开发流程深深融为一体。 1.2课题发展现状与未来就像所有伟大的学科一样,发展到一定程度时,其细微的地方也会相继蜕变为专业,而如今的软件测试也走到了这一步。它成为了由专
8、门人才和专家承担,运用专门的方法和手段,对软件进行严密测试发现其存在问题并加以纠正的方法。它主要分为白盒测试和黑盒测试,测试初始,就需要建立详细的测试计划,而后续的操作也必须严格按照测试计划执行,这些将有利于减少测试的随意性。它并不是一个轻松的工作,它严密,复杂,工作量往往就占了软件开发总量的40%以上,而它的成本有时甚至高于软件工程其他步骤成本总和的三至五倍。但这些都是值得的,因为它通过软件开发过程中的质量控制,保证了其最终质量,好处显而易见,它回避了软件发布后由于其潜在的缺陷和错误所带来的商业风险,并且它是以最少的时间,人力和物力来完成这点的。它现阶段只能由人来完成,所以显得不是那么完美,
9、人们通过它发现尽可能多的产品缺陷并加以纠正,这提高了软件的质量。随着时代的发展和科技的进步,软件测试被注入了新的活力,它再也不是狭义的为发现软件的缺陷和错误而存在了,它如今对软件的度量和评估,显得尤为重要,这早已成为了客户选择和接受软件的有力参考,保证了其对产品的满意度。1.3本文的主要内容本文主要研究软件测试中的功能测试,第一章简述软件测试的发展状况及其重要性;第二章介绍测试工具BugFree,TestLink的使用,并对一些测试方法进行概述;第三章简要介绍本次研究的软件产品DG,对DG产品进行测试需求分析,并从中挑选部分功能展开具体研究,验证产品功能是否符合客户需求,测试的实际结果与预期结
10、果是否吻合,并将出现的bug填写到BugFree中。第四章总结本次课题研究的收获以及对未来的展望。第二章 技术平台 本章分别对TestLink,BugFree两个工具进行介绍,并对软件测试方法进行概述,为后期的测试工作奠定基础,做好准备。2.1TestLink工具介绍 TestLink是一种基于web的测试用例管理系统,主要用于测试用例的创建、管理和执行,另外还提供了一些简单的统计功能。2.1.1简介TestLink用于对测试过程进行管理,使用TestLink可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和
11、分析测试结果。TestLink主要功能包括:测试需求管理,测试计划的制定,测试用例管理,测试用例的执行,测试用例对测试需求的覆盖率,基于角色的用户管理,以及大量测试数据的度量和统计功能。2.1.2实现功能1) 根据不同的项目,制定不同的测试计划、测试用例,并进行管理;2) 可以使用关键字搜索测试用例;3) 同一项目可以制定不同的测试计划,将编写的测试用例分配给各测试计划 ,实现测试用例的可复用性;4) 可以将现有测试用例简要修改后进行复用;5) 可以设定和记录测试执行的状态,执行测试用例时,可以做相应的说明;6) 按照用户需求、测试计划、测试用例状态、版本等统计测试结果,进行测试结果分析;7)
12、 为不同用户定义不同的角色,通过角色控制用户权限;8) 将测试用例和测试需求相对应,划分测试用例的优先级,然后根据优先级指派给测试员进行测试。2.1.3 测试用例管理TestLink对测试用例的管理包含三层,分别为:Component、Category、Test case。Component对应于项目的功能模块,Category与每个模块的功能对应,而Test case就是写在这些Category里的测试用例。测试人员可以使用关键字搜索功能从不同项目、不同版本的测试用例中查到所需要的测试用例,甚至可以直接将其他项目里编写的测试用例复制进来,解决了测试用例的管理和复用性问题。在测试管理中,测试用
13、例对测试需求的覆盖率也很重要,根据需求规格说明书提取出测试需求之后, 可以使用Testlink管理测试需求与测试用例的对应关系。2.1.4创建测试用例选择创建好的Category,点击 “创建测试用例”按钮,可以新建测试用例。测试用例的要素包括:测试用例名称、简要说明、测试步骤、预期结果、关键字。2.2BugFree工具介绍2.2.1简介BugFree是基于浏览器方式运行的一个bug管理工具,可以记录每个bug的处理过程,不断提醒开发者还存在哪些缺陷,对于软件的可持续发展至关重要。所有人都可以使用BugFree创建Bug,指派Bug或者改变Bug状态。过程大致如下:1) 如果测试人员在测试过程
14、中发现Bug,可以新建一个Bug并且将它指派给相关的开发小组长;2) 开发小组长判断这个Bug出现的模块是由某个特定人员开发的,然后将Bug指派给他处理;3) 开发人员根据Bug的描述信息找到问题所在,然后修改程序解决Bug,再将Bug返回给当初的测试人员;4) 提出Bug的测试人员在看到某个Bug被解决后,需要去验证这个Bug是否真的已经不存在了,根据当初的操作步骤运行产品,证实问题真的解决了,就关闭这个Bug;若Bug还能重现或者测试人员不同意开发人员的解法,可以激活这个Bug,返还给当初的开发人员做进一步调查处理;5) 当测试人员和开发人员意见不统一时,由对应的设计者出面做协调,判断这个
15、Bug的严重程度,对用户可能造成怎样的影响,再根据产品的进度和项目资源做出评估。 团队中的每个人发现问题时都可以创建Bug进行跟踪,除了软件功能上的Bug,其他各种问题,例如需求文档的改动,界面上的错别字、帮助文档的遣词造句问题等等,都可以提交Bug。2.2.2使用BugFree没有客户端,因此不需要运行或者安装,可以直接通过IE访问。BugFree的使用分为三个步骤:1) 建立项目模块以及其子模块;(这一步只在项目的最开始由管理员建立)2) 用自己的用户名登录管理模块;3) 处理分配给自己的Bug和任务,发现新的bug之后可以通过BugFree发送给相应的人处理。一个Bug只有3种状态:Ac
16、tive、Resolved、Closed。可以通过“编辑”来改变所有的状态:1) 一个Active的Bug,从一个人指派到另外一个人,使用“编辑(Edit)”;2) Active 转为 Resolved 只能用“解决 (Resolve)”;3) Resolved 转为 Closed 只能用“关闭 (Closed)”; 4) Resolved 转为 Active 和 Closed 转为 Active 只能使用“激活 (Activate)”。查询Bug时可以根据自己的需求选择不同的查询条件,比如查找某个项目中的Bug,输入项目名称,点击查询后,下面就会倒序显示该项目中出现的Bug。查询出符合条件的
17、Bug后点击该Bug标题,将显示该Bug的详细信息。2.3软件测试方法概述软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法。对测试进行分类是为了更好的明确测试执行过程,了解测试究竟要完成哪些工作。2.3.1按测试方法划分1) 白盒测试白盒测试也称为结构测试或逻辑驱动测试,白盒测试的对象基本上是源程序,是以程序的内部逻辑为基础的一种测试技术。白盒测试针对性很强,可以对程序的每一行语句、每一个条件或分支进行测试,效率比较高,且可以清楚测试的覆盖程序。2) 黑盒测试黑盒测试也称功能测试或数据驱动测试,它是基于需求和功能性的测试,是在已知产品所具有的功能的情况下,通过测试来检测每个功
18、能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据并且产生正确的输出信息,并且保持信息的完整性。2.3.2黑盒测试方法列举黑盒测试方法主要有等价类划分法、边界值法、因果图法、错误推测法等,主要用于软件确认测试。1) 等价类划分法等价类划分法是一种典型的、常用的黑盒测试方法。把所有可能的输入数据,即将程序的输入域划分成若干子集,然后从每一个子集中选取少数具有代表性的数据作为测试用例。等价类划分法包括有效等价类和无效等价类两种情况。有效
19、等价类是指对于程序规格说明来说,由合理的、有意义的输入数据构成的集合。无效等价类是指由不合理的、无意义的输入数据构成的集合。2) 边界值法边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析法是通过选择等价类边界的测试用例进行测试,边界值是对等价类划分法的补充。测试中,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。3) 错误推测法错误推测法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的
20、特殊情况,根据他们选择测试用例。4) 因果图法等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。 如果考虑输入条件之间的相互组合,可能会产生一些新的情况.。但是要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。5) 判定表判定表是分析和表达多逻辑条件下执行不同操作的情况下的工具。由于它可以把复杂的逻辑关系和多
21、种条件组合的情况表达得既具体又明确。判定表通常由四部分组成条件桩:列出了问题的所有条件,列出的条件的次序无关紧要。动作桩:列出了问题规定可能采取的操作,这些操作的排列顺序没有约束。条件项:列出针对它所列条件的取值,在所有可能情况下的真假值。动作项:列出在条件项的各种取值情况下应该采取的动作。规则:在判定表中贯穿条件项和动作项的一列就是一条规则。因此,判定表中列出多少种条件取值,也就有多少条规则。6) 正交试验设计法正交试验设计是研究多因素多水平的又一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,正交试验设计是分析因式设
22、计的主要方法。是一种高效率、快速、经济的实验设计方法。 以上是对一些常见黑盒测试方法的简单介绍,通过本章的描述,可以对TestLink,BugFree两种工具的功能和使用过程有大致了解。在测试过程中,工具与合适的测试用例设计方法相结合,才能有效提高软件测试的效率和质量。第三章 功能测试设计和实现 本章首先对产品进行测试需求分析和方案设计,再从中选例进行研究,并且描述了功能测试的实现过程,最后对每个功能的测试结果进行分析和总结。3.1DG产品简介DG,Document Guard(敏捷安全卫士系统)是第一款国内电子文档透明加密软件,它致力于解决企业的图文档数据方面的安全问题,采用了先进的操作系统
23、内核技术、高强度的透明加密算法。具备灵活易用的安全策略,能实时进行图文档文件的加密工作,有效的遏制了企业内部用户有意或无意的信息泄漏。电子文件有易复制、易传输的特点,它在给企业带来便利的同时,其安全管控也让业界头痛不已。因为电子文件一旦被借阅,借阅者对文件就具有了掌控权,就无法像纸质文档一样进行回收操作,这客观上造成了文件的无序传播。无数事实证明:若系统内部存在着没有加密的电子文件,传统安全系统(防火墙等)就无法扼杀机密文件被泄密的可能。DG安全策略有效的解决了这种安全隐患,它迥异于传统的安全策略(阻止文件被带出);而是做到了通过任何方式被带出的文件都是加密的,保证了文件被非法窃取后无法使用。
24、具体地说:一份电子文档会经历创建编辑浏览保存传输删除这整个生命周期,而DG保证了它在周期中的任何时刻都处于加密状态,若脱离了装有DG的主机,是不能接触到解密的文件的,这样就从根本上扼杀了文件被泄密的可能。也就是说,若有人想窃取文件,那么他通过电子邮件、网络入侵、移动存储设备、蓝牙设备、红外设备、木马程序等手段来传输的文件,都只会是被加密的,而这些文件一旦脱离了企业的计算机根本无法使用。DG采用的安全策略。使文件从创建初期到最后删除,其整个生命周期都具备了安全保护性。这有异于传统的安全系统,如防火墙等(采用“堵”文件策略),但DG与防火墙、VPN等安全产品却完全不冲突,它是从“内部控制”的层面上
25、补充了现有的安全系统。系统内部只要存在着不加密的电子文档,理论上以往的各种安全系统(防火墙等)就无法扼杀机密文件被泄密的可能。由于DG可以做到从系统内部加密文件,因此它从信源上保证了文件的安全,在整个安全体系中,DG扮演的角色无可取代,若把它结合传统的安全系统使用,用户将获得无与伦比的信息安全体验。敏捷安全卫士系统分三层架构,由服务器、管理机和客户机组成。三层架构之间互相关联,其中服务器用于注册和管理其下的管理机,管理机用于注册和管理其下的客户机以及对外发图文档进行加解密;客户机则用于实现文件的全生命周期的保护,安装客户机后,用户的日常操作习惯不需要做任何改变,图文档文件却能在操作过程中(从创
26、建到打开、编辑、浏览、保存、传输直至删除)始终处于加密状态,从而确保了文件的安全性。敏捷安全卫士系统架构如下图所示:管理机服务器客户机管理机客户机客户机客户机客户机图3-1 DG三层架构3.2测试需求分析和方案测试需求是设计测试用例的依据,测试需求分析的越细致越精准,说明对所要测的软件了解越深,对所要进行的任务内容越清晰,对提高测试用例的设计质量有很大帮助。测试需求的细致程度还是衡量软件测试覆盖率的重要指标,测试需求是计算测试覆盖率的分母,因此,详细的测试需求能有效的进行测试覆盖的计算。进行产品功能测试之前,对产品进行需求的理解和分析是必不可少的,对需求理解的正确与否直接影响最后测试结果的好坏
27、。因此如何正确的理解需求在测试人员工作中显得尤其重要。在此次的案例研究中,功能测试主要是对功能和流程两方面进行理解。业务流程理解:从测试人员的角度出发,理解需求时首先应该清楚的是系统的流程,流程是贯穿整个系统的主线,只有主线通畅了才能保证后续步骤的正常进行,一旦流程不通畅,就会影响对后期工作的分析和理解。单功能理解:理解软件产品中的具体功能,主要是系统包含哪些主要的功能点,每个功能的期望值是什么,需要达到的用户需求是什么。敏捷安全卫士系统由服务器、管理机和客户机组成,每层架构都具备很多功能。服务器的功能包括:服务器运行、查看服务器信息、注册管理机、删除管理机、查看管理机信息、服务器设置、装入升
28、级包、IP地址设置、更新序列号(可以在试用号和正式号之间变换)、自定义密钥、备份密钥、恢复密钥、制作分厂服务器的加密狗(安装分厂服务器时需要使用加密狗启动)、管理机集群、安全卫士日志管理器(记录所有日志信息)、IE网址排除工具、安全卫士打印机控制工具。管理机的功能包括:登录管理机、管理机设置、组织机构、分级管理、策略模板、域同步(同步计算机、同步用户)、域用户(配置用户权限、添加到组织机构、继承上级策略)、计算机(注册客户机、配置客户机、连接客户机、注销客户机、延长脱机时间、选择部门、从部门移除)、加解密(对文件进行加密解密操作)、设置卸载码(可以防止客户机被任意卸载)。客户机的功能包括:客户
29、机用于实现文件全生命周期保护安全策略,对图文档文件进行实时加解密。DG客户端安装完成后,会在计算机屏幕右下角任务栏中显示锁标志。右击锁标志可以进行策略更新、版本升级、文件外发、外发设置、模式切换等操作。客户机分为三种桌面模式:个人桌面模式、VIP桌面模式、加密桌面模式。个人桌面模式下,无法生成任何加密文件,能够打开其他两种模式下的加密文件,但显示的内容是密文。VIP桌面模式即手动加密桌面模式,一般可单独存在,也可和个人桌面模式进行切换使用。加密桌面模式即强制加密模式一般可单独存在,也可和个人桌面模式进行切换使用。DG产品的基本工作流程大致如下:开始结束服务器运行注册与配置管理机登录管理机注册客
30、户机配置客户机登录客户机打开受控软件进行编辑保存受控软件加密图3-2 DG基本工作流程因此图3-2中包含的功能是DG最基本且必须要实现的功能,只有满足这些功能,DG产品才能达到用户最基本的需求,对图文档进行加密操作。除了最基本的功能外,DG产品还具备很多重要的功能,以满足客户各式各样的需求。其中,自定义密钥功能满足用户自己定义企业密钥的需求,加强了企业文件的安全性;分级管理功能用于创建角色,不同角色可以配置不同的权限,将企业各部门中新增的管理员加入各个角色成员里,使不同部门管理员拥有不同的管理权限,这个功能方便了企业对不同机构进行管理;注册客户机的前提是管理机具备允许连接的权限,这样客户机在安
31、装时才能连接上管理机;配置word受控,需要管理机具有允许连接、允许管理的权限,对客户机进行配置后,客户机编辑word、保存,文件就能加密;若管理机注销客户机,客户机将不再受控,不能再对受控软件进行加密,原先加密的软件也不能以明文显示。因此下文着重对以上几个功能进行测试分析,得出测试结果。进行功能测试时,先根据需求规格说明书列出所有功能,然后根据各个功能的特点选择合适的测试用例编写方法,在编写测试用例之前,先要根据功能构思测试用例的设计思路,然后选用测试用例编写方法,如:等价类划分法、边界值法等等,编写适当数目的测试用例,再根据编写的测试用例执行测试步骤运行软件产品,最后比较执行出来的实际结果
32、与预期结果是否相同,判断产品功能是否正常,是否满足用户需求,与用户手册一致。若出现功能缺陷,需要填写并提交测试出来的缺陷,供开发者进行修正。3.3单功能测试单功能测试是指将软件产品中包含的所有功能单独列出来,分别进行测试。这种测试不考虑该功能与产品中其他功能之间是否有因果联系,只针对该功能的输入参数,处理过程以及输出参数进行测试。再在预期结果与实际测试结果之间进行评测,判断该功能是否达到用户使用的要求。3.3.1自定义密钥自定义密钥顾名思义,是由每个企业自己定义。DG产品本身含有一套加密机制,可以实现对图文档的加密,增加安全性,防止重要文件的泄露。而自定义密钥是除敏捷科技提供基本密钥外,企业自
33、身加入的自定义密钥,两个密钥合二为一,可以成为企业独有密钥,才能区别于其他企业。所以,对自定义密钥功能进行测试以确保该功能的正常使用,能够大大提高企业文件的安全性。自定义密钥测试分析 对自定义密钥功能进行测试时,我们要从以下几个方面入手:u 输入参数测试该功能的输入参数主要包括:输入密钥、确定密钥以及“添加”、“取消”、“确定”等按钮操作。u 处理过程测试处理功能包括正常处理过程和异常处理过程。u 输出参数测试 该功能的输出参数包括自定义密钥生成的加密文件,输出位置和输出形式等。 根据上述测试分析,可列举出以下测试思路:1. 点击自定义密钥框中的“取消”按钮,回到服务器主界面。2. 自定义密钥
34、为空,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败,重新输入密钥。3. 自定义密钥长度小于6位,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败,重新输入密钥。4. 自定义密钥长度大于16位时,无法继续输入密钥。5. 自定义密钥长度在6-16位之间,两次输入密钥不匹配,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败。6. 自定义密钥长度在6-16位之间,且两次输入密钥匹配,点击自定义密钥框中的“添加”按钮,添加自定义密钥成功。7. 已经设置过密钥的,下次设置时,提示是否确认修改密钥框,点击“取消”按钮,返回服务器主界面。8. 已经设置过密钥的,下次设置时,提示是否确认修改密钥
35、框,点击“确定”按钮,弹出输入密钥框。自定义密钥测试实现根据该功能的特点,将等价类划分法和边界值法相结合,使用TestLink编写测试用例。表3-1 自定义密钥测试用例测试功能测试用例编号测试标题测试步骤预期结果自定义密钥1密钥为数字1.点击自定义密钥2.输入密钥1111113.输入确认密钥1111114.点击确定自定义密钥设置成功2密钥为其他字符1.点击自定义密钥2.输入密钥#%(,-3.输入确认密钥#%(,-4.点击确定自定义密钥设置成功3密钥长度小于61.点击自定义密钥2.输入密钥1233.输入确认密钥1234.点击确定自定义密钥设置不成功,提示“密钥长度必须大于等于6”4两次输入密钥不
36、符1.点击自定义密钥2.输入密钥1111113.输入确认密钥1234564.点击确定自定义密钥设置不成功,提示“密钥不匹配”5密钥为空1.点击自定义密钥2.输入密钥空3.输入确认密钥空4.点击确定自定义密钥设置不成功,提示“密钥长度必须大于等于6”6取消密钥1.点击自定义密钥2.输入密钥1234563.输入确认密钥1234564.点击取消自定义密钥设置不成功按照以上测试用例,具体执行过程如下:1. 点击自定义密钥框中的“取消”按钮,回到服务器主界面。 具体执行步骤:点击服务器的“自定义密钥”,会弹出输入密钥界面:图3-3 输入密钥在图3-3中输入密钥123456,确认密钥123456,点击“取
37、消”,自定义密钥设置不成功,返回到服务器的主界面。2. 自定义密钥为空,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败,重新输入密钥。具体执行步骤:在图3-3中,设置输入密钥和确认密钥都为空,点击的“添加”,弹出如下界面:图3-4 密钥长度小于6位自定义密钥设置不成功,提示“密钥长度必须大于等于6”。点击“确定”后,返回图3-2,可重新输入密钥。3. 自定义密钥长度小于6位,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败,重新输入密钥。具体执行步骤:在图3-3中输入密钥123,确认密钥123,点击“添加”后弹出如图3-4所示界面,自定义密钥设置不成功,提示“密钥长度必须大于等于6”
38、。点击“确定”后,返回图3-3,可重新输入密钥。4. 自定义密钥长度大于16位时,无法继续输入密钥。具体执行步骤:在图3-3中输入密钥,密钥长度大于16位,不能继续输入密钥。如下图所示:图3-5 密钥长度大于16输入的密钥长度等于16位后,无法继续键入密钥,长度不能大于16位。5. 自定义密钥长度在6-16位之间,两次输入密钥不匹配,点击自定义密钥框中的“添加”按钮,添加自定义密钥失败。具体执行步骤:在图3-3中输入密钥111111,确认密钥123456,点击“添加”后弹出如下图所示界面:图3-6 密钥不匹配自定义密钥设置不成功,提示“密钥中输入的密钥不匹配,请重新输入”。点击“确定”后,返回
39、图3-3,可重新输入密钥。6. 自定义密钥长度在6-16位之间,且两次输入密钥匹配,点击自定义密钥框中的“添加”按钮,添加自定义密钥成功。具体执行步骤:在图3-3中输入密钥111111,确认密钥111111,点击“添加”后返回服务器主界面。打开服务器安装目录,查找keySelfDefine.ini文件,该文件记录了自定义密钥信息。自定义密钥设置成功。7. 已经设置过密钥的,下次设置时,提示是否确认修改密钥框,点击“取消”按钮,返回服务器主界面。具体执行步骤:点击服务器的“自定义密钥”,会弹出如下界面:图3-7 更改密钥点击“取消”按钮,返回服务器主界面。8. 已经设置过密钥的,下次设置时,提示
40、是否确认修改密钥框,点击“确定”按钮,弹出输入密钥框。具体执行步骤:在图3-7中,点击“确认”按钮,弹出如图3-1所示界面。输入密钥:#%(,- ,确认密钥:#%(,- ,点击“添加”后,返回服务器主界面,密钥设置成功。测试结果分析和总结根据编写的测试用例,对自定义密钥功能进行测试,然后将测试过程中产生的实际结果与测试用例中的预期结果相比较。表3-2 自定义密钥测试结果分析测试用例编号预期结果实际结果1自定义密钥设置成功自定义密钥设置成功2自定义密钥设置成功自定义密钥设置成功3自定义密钥设置不成功,提示“密钥长度必须大于等于6”自定义密钥设置不成功,提示“密钥长度必须大于等于6”4自定义密钥设
41、置不成功,提示“密钥不匹配”自定义密钥设置不成功,提示“密钥不匹配”5自定义密钥设置不成功,提示“密钥长度必须大于等于6”自定义密钥设置不成功,提示“密钥长度必须大于等于6”6自定义密钥设置不成功自定义密钥设置不成功根据表3-2中的结果,可以看出实际结果与预期结果完全吻合。因此,可以得出结论:自定义密钥功能正常,满足用户需求。3.3.2分级管理分级管理模块是用于为新增的管理员用户赋予权限的。管理员想要获得某些权限,必须要先添加角色,再将管理员变为该角色的成员,这样管理员即拥有了该角色所拥有的所有权限。用户角色权限包括:允许解密、允许注册、角色管理、定义策略模板、管理同级用户、管理下级用户、定义
42、下级组织机构。对用户进行权限设置时,可以任意勾选,从而使角色获得这些功能。根据不同的需求可以添加用户角色,也可以对已添加的用户角色进行修改或删除操作。因此,对分级管理功能进行测试必不可少,可以保证不同管理员拥有不同角色权限,便于管理,提高了安全性。分级管理测试分析对分级管理功能进行测试时,我们要从以下几个方面关注它:u 输入参数测试该功能的输入参数主要包括:用户角色名称,角色描述,权限设置按钮,左移按钮,右移按钮,添加角色按钮,删除角色按钮,修改角色按钮等按钮操作。u 处理过程测试处理功能包括正常处理过程和异常处理过程。正常处理过程包括能够成功添加用户角色,将非角色成员通过左移按钮变为角色成员
43、,并能够通过右移按钮重新变为非角色成员等等。异常处理过程包括按钮功能失效,添加角色失败等等。u 输出参数测试该功能的输出参数包括角色列表信息,角色权限,角色成员设置等。 根据上述测试分析,可列举出以下测试思路:1. 添加角色时,名称不能为空且不能重复,描述可有可无。角色添加成功后,角色列表显示新增的角色信息。2. 修改角色时,可以修改角色的名称或描述,名称不能为空或重复。修改成功后,角色列表显示修改后的角色信息。3. 选中想要删除的角色,可以点击删除角色按钮,删除角色。角色列表中该角色信息被删除。该角色下的管理员会被移至非角色成员。4. 选中角色列表中的角色信息,可以对该角色进行权限设置。用户
44、角色权限包括:允许解密、允许注册、角色管理、定义策略模板、管理同级用户、管理下级用户、定义下级组织机构。根据不同的需要,可以对角色进行不同的权限设置。5. 选中角色列表中的角色信息,将非角色成员中的管理员通过左移按钮移至左边的角色成员列表中,该管理员就拥有了该角色的所有权限。6. 将角色成员列表中的管理员通过右移按钮移至非角色成员列表,该管理员将失去原先拥有的所有权限。分级管理测试实现角色权限是多因素多水平的,因此可以使用正交试验法,根据正交性从全面试验中挑选出部分有代表性的点进行试验。角色权限有七种,每个权限有两种状态,将勾选设定为“1”,不勾选设定为“2”。因此总共是7因子2状态。正交试验
45、法7因子2状态表如下:表3-3 7因子2状态正交试验表组合因子允许解密允许注册角色管理定义策略模板管理同级用户管理下级用户定义下级组织机构1111111121112222312211224122221152121212621221217221122182212112由上述正交试验表可得到角色权限的8种组合。由于该功能输入条件多,不适合采用等价类划分法以及边界值法,因此选择错误推测法与正交实验法编写测试用例。表3-4 分级管理测试用例测试功能测试用例编号测试标题测试步骤预期结果分级管理7添加角色,名称为空1.点击“增加角色”2.名称为空,点击“确定”添加角色失败8添加角色,名称重复1.点击“增加角色”2.添加一个已存在角色名称“test”,点击“确定”添加角色失败9修改角色,名称为空1.选中角色“test”,点击“修改角色”2.修改角色名称为空修改角色失败10修改角色,名称重复1.选中角色“test1”,点击“修改角色”2.修改角色名称为“test”修改角色失败11删除角色选中角色“test1”,点击“删除角色”删除角色成功12赋予管理员权限1.选中角色“test”2.选中管理员“测试管理员”3.点击左移按钮测试管理员拥有角色test的权限13撤销管理员权限1
限制150内