




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于web应用的自动化测试的设计与实现the design of the automation test based on web application完成日期 2013 年 3 月 30 日开题报告基于web应用的自动化测试的设计与实现摘要目前,软件研发已逐渐向分工协作和流程化发展。为了保证软件产品的最终质量,软件行业已越来越多地重视软件测试。从根本上说,软件测是贯穿于软件产品研发的整个过程,在这个过程中,软件测试会以用户角度,用各种手段检测软件产品,并在检测软件产品的过程中,发现软件产品存在的毛病,因此软件测试的工作量很大。而在测试过程中,许多操作都是重复性的、非智力性的和非创造性的,并要求做出准确而且细致的工作。但是,对于手工测试来说,在这些工作中受各种原因影响,难免会在测试过程中出现各种各样的问题,自动化测试亦正因此,而应运而生。本次设计就是为了减轻软件测试的工作量,针对现今手工测试存在的缺陷,借助现今主流的各种测试工具以及脚本语言,来提高软件测试的效率,用更科学、更智能的手段对软件产品进行更精密、更细致的测试工作。并希望借此来改变现今软件企业的测试方式。力求在测试方法以及在测试技术层面上,对软件测试工作有所突破。关键字:python;qtp;ab;软件测试;api监控the design of the automation test based on web applicationabstractcurrently, software development has gradually to the division of work and the process of development. in order to guarantee the final quality of the software product, the software industry has been more and more emphasis on software testing. fundamentally speaking, the software measured throughout the whole process of software product development, in the process, the software testing user perspective, using a variety of means to detect software products, and in the process of detection software products, software products exist problems, software testing, a lot of work. in the test process, many operations are repetitive, non-intellectual and creative, and to make accurate and meticulous work. however, for manual testing, work is influenced by a variety of reasons, will inevitably be a variety of problems in the testing process, and automated test also came into being.the design in order to reduce the workload of the software testing, manual testing today defects, with the various tests of todays mainstream tools and scripting language, so as to improve the efficiency of software testing, with more scientific, more intelligent means of software products more sophisticated, more detailed testing. and the software testing today should be changed by this methods. sought to test methods and in test technical level, a breakthrough in software testing.key words: python; qtp; software test; api monitor目录1 绪论11.1 研究背景 11.2 软件测试 11.3 自动化测试与手工测试 11.4 测试环境简介 21.4.1 python简介21.4.2 qtp简介21.4.3 ab简介32 测试业务需求分析42.1 模块结构 42.2 模块分析 53 测试流程的设计73.1 python的自动化 73.1.1 python开发自动化脚本73.1.2 python批量生成日志样品 路径覆盖法83.1.3 python批量生成数据库数据样品83.2 apachebench的web性能测试 103.3 qtp的自动化测试 113.4 多浏览器的兼容性测试 174 测试报告的实现与分析204.1测试环境与配置 204.2测试用例细化 214.3 第一轮测试发现的问题 234.4 第一轮测试结果分析 244.5 验收测试 254.5.2 测试环境与配置254.5.1 测试内容254.7 测试结果分析 254.7.1 对比分析254.7.2 bug分析264.6 测试结论及发布建议 2746.1 测试结论274.6.2 发布建议274.7 自动化测试的意义 285 结束语295.1 心得体会 295.2 展望 30参考文献31致谢321 绪论1.1 研究背景在我们日常的生活中,软件产品无处不在,有基于嵌入式硬件的,如gps导航仪、门进系统、人脸识别器等;也有如手机、平板电脑等基于移动终端的;还有基于网页端的,如教务管理系统、图书馆管理系统等。也许我们在不知不觉当中,已经在各种各样的场所使用软件产品。随着科技的进步,我国的软件产业也随之逐渐发展、壮大,但是与国际水平相比,国内软件企业仍然存在较大的差距。由于大多缺乏对国际市场信息和先进的开发模式以及设计模式,缺乏对知识产权的认知度,同时缺乏强硬的管理体系,这些都对国内软件产业的成长与发展造成障碍。从这里我们可以看出,要提高国内软件产业在国际间的地位,需要我们去完善软件的质量认证和规范软件企业管理。1.2 软件测试从国内的软件企业的发展历程,我们可以知道,国内软件企业从起步的那一刻起,就有着“重视开发,轻视测试”的观念。根据国际著名软件企业统计分析,如果软件在研发或者在使用过程中,发现问题越早,器软件成本就越低。一句话,要想在发布后,软件危害的费用降到最低,只有提高软件的质量。软件开发的最基本要求是按照规定时时间内,保证所发布的软件产品的质量。而本论文所论述的软件测试,正是软件质量保证的一个非常重要的手段。1.3 自动化测试与手工测试在软件研发看来,软件产品可以采用各式各样的软件开发技术和方法进行研发。但是,软件产品始终都会存在或多或少的问题和缺陷。而总所周知,一个缺陷可以让人抓狂,可以对个人或者企业造成千上万的损失,可以导致一个知名企业瞬间倒闭,还可以造成各种军事事故。为了保证软件质量,我们需要进行软件测试。软件测试是一项需要投入大量的时间和精力的艰苦工作。而大部分的测试工作都是具有重复性的,无需过多的思考的工作,它要求测试结果可靠、准确以及客观。人类是一种感情丰富的高等动物,计算机是一种不含主观意识(仅对于本论文撰写时期而言)的机器,它会根据我们给出的预期输入,经过程序控制,得出相应的结论。正因为计算机有着这种特性,我们更多地希望计算机帮忙完成一些重复的工作。因此,自动化测试应运而生。我们并非对重复的工作感到厌烦而选择软件测试的自动化,这个是测试工作的需要,因为自动化测试它可以提高测试效率,而且对于测试结果具有一定的可靠性、客观性以及我们最关心的准确性。现今大部分企业也逐渐地从手工测试,向自动化测试转型。因此,本文会花比较大的篇幅论述自动化测试技术。1.4 测试环境简介由于本人在实习期间,主要负责软件测试方面的工作,有负责对部署在实习单位内网的web应用进行测试,本文选取的是其中一个web应用。按照这个web应用的部署及运行环境,需要用到装有ubuntu 12.04的机器作服务器,其语言环境分别有java(jdk 1.7)和python 2.7.3,其中需要用到国外知名的web容器apache tomcat 7.0,数据库方面采用轻巧且开源的mysql 5.5数据库,需要一台安装有浏览器的电脑做客户端机器。还需要一台带有qtp的测试机供测试使用,由于本人金钱有限,只有一台电脑,对于服务器机器与测试机机器环境的搭建,为了降低测试成本,本人选择了vmware 8虚拟机来安装这些环境。1.4.1 python简介python是一种直译式的电脑编程面向对象语言。它有着优雅、明确、简单的语法,其语言具有高度的可阅读性和扩展性,让人看起来整洁美观。python能够轻松地用其它语言制作的模块轻松地连接在一起,在业界称之为“胶水语言”。而且python让使用者无需去考虑像如何管理程序所使用的内存这方面的底层细节,在编写与使用上极其容易上手,是一种简单主义思想的语言。本次设计之所以选取python,是看中了它有着,简单、易学、免费、开源、可移植性强、可扩展性良好以及有着丰富的类库支持。用以批量生成测试数据。1.4.2 qtp简介qtp是quick test professional的简称,是一种面向自动化企业级测试的工具。现在已经被惠普公司收购。它是一个侧重于功能的回归自动化测试工具,主要帮助测试人员完成软件的功能测试,支持vbscript的脚本语言,提供了许多有用的插件,而且还有功能强大的调试工具。支持录制和回放的功能,支持多种方法来识别对象,提供良好的对象识别工具。支持各种驱动测试,集成强大的编辑器,让测试者能够快速的错误现场恢复。而且对于每次测试结果都有较详尽的测试报告。本次设计主要选取qtp作功能测试,以及对测试结果经行进一步分析。1.4.3 ab简介ab是apache bench的简称,是著名web服务器软件apache提供的超文本传输协议的开源性能测试小工具,它小巧、轻便,在性能测试领域上,提供了优秀的解决方案。ab可以同时模拟多个并发请求,专门用于http server的benchmark testing,测试apache等web服务器的最大承载压力。工具简单,便于使用,它让测试人员甚至开发人员知道一个网站的吞吐率。本次设计主要选取ab作压力测试,主要测试各个web服务器接口的承载能力,并根据测试结果,分析出web的性能。2 测试业务需求分析本文选取的web应用主要用于监控外部web接口的监控系统,即用于监管提供客户端的app应用的web接口,让主管人员能够第一时间知道各个web接口的访问情况,这对于服务器性能调优有着重大的意义。2.1 模块结构本次选取的web应用从模块上划分,主要分为数据解析模块、登录模块、产品管理模块、预警设置模块、错误分析模块以及主功能模块等。其模块结构图如下图所示:api监控系统产品管理数据解析模块用户管理日志分析数据入库缓存计算查询产品删除数据修改产品添加产品添加用户查询用户删除用户数据导出数据备份修改用户信息概览查询登录模块预警管理预警删除预警设置预警查询预警提示错误分析信息查询数据导出主功能模块数据统计数据查询图表打印图表导出图2-1 系统模块结构图2.2 模块分析1. 数据解析模块:主要对于nginx产生日志的进行分析处理,并把处理后的数据存至数据库中,原始数据还会进行进一步的缓存加工,产生每日的缓存数据信息。2. 登录模块:主要用于用户的登录3. 产品管理模块:主要用于用户对于产品的管理,其中包括对于添加产品和修改、以及对产品的删除和查看等,还包括数据图表的展示以及数据的导出功能。4. 用户管理模块:主要用于对于用户的管理,其中包括对于用户的添加、修改、删除、查看等,还包括对于用户权限的管理。5. 预警设置模块:主要对于现有产品下的预警管理,其中包括预警的向导设置与删除,还有点子邮件提醒等。6. 错误分析模块:主要用于现有产品匹配失败的日志进行错误分析,其中包括分页数据的处理以及数据的导出和数据的查询等。7. 主功能模块:主要用于各个指标的数据展示,如:web接口在该产品下的分布以及占比,还有请求的时长、请求的次数、请求的状况、请求的成功率等,对于这些数据有分图表区域以及数据表格区域。3 测试流程的设计3.1 python的自动化3.1.1 python开发自动化脚本通常一个稍具规模的网页系统,其数据量的庞大程度,并非我们能够想象的,对于一些数据上的改动,可能需要通过前端十分繁琐的步骤以及通过服务器负责的计算才能生成。这样一来,对于测试来说,无疑增加了不少操作上的负担,而且这些工作对于数据上的测试,是不重要,甚至可能影响数据的测试效果。对于需要数以万计的测试数据来说,采用了人肉方式来一步一步地完成添加操作,这样的做法是不可取的,因此我们要摒弃这样枯燥的操作,选择自动化脚本,按照需求为我们批量生成测试数据。python作为一种脚本语言,其用途广泛,可以结合一些主流框架,如django搭建web服务。也可以作为一种程序,处理数据等,本次测试比较多地采用它去批量生成测试数据。3.1.2 python批量生成日志样品通过本次选取的测试产品的需求中,我们了解到其对于日志的解析环节需要用到脚本,把固定格式的日志解析,然后存到mysql数据库中。由于python对于文件的读写,以及拥有丰富的易于使用的随机函数库,因此,本次选取python去实现,批量生成测试数据。下面,先分析这些日志的固有格式:ip - - nginx默认日志格式时区 “请求方法请求的接口名称 http版本” 请求时长请求状态请求字节数通过分析以上格式后,得出python代码片段如下:import datetimeimport randomdef time_format(min_number,max_number):temp = random.randint(min_number,max_number)if temp = 1000:insert_into_mysql(cursor,zpns_log,sql_list)sql_list = insert_into_mysql(cursor,zpns_log,sql_list)except exception,e:out(e)finally:if cursor:cursor.close()if con:con.close()if _name_ = _main_:sql_sample()以上代码片段主要用于批量生成数据库数据。这些数据都是按要求,随机产生的。由于该应有所涉及的表比较多,有产品表、用户表、基础数据表、缓存表、过滤器表、日至历史表等,而且这些表都比较复杂,下面仅举例说明基础数据表的测试。表3-1 基础数据表在本次测试中,我们通过运行以上脚本,执行插入数据的操作,主要测试基础数据表的插入数据的性能。下面为记录结果:表3-2 数据库大数据量测试结果记录表通过上面数据可以看出,该表对通过对比插入与查询,插入的时间耗时比查询时间耗时要长得多。但对于一万以内的插入与查询,性能达标,对于十万级的插入,相对耗时较长,但对于数据查询,速度还好,不会影响程序的调用。3.2 apachebench的web性能测试apachebench可以同时模拟多个并发请求,可以测试该应用的吞吐量和响应时间,获得该应用的负载数据。由于时间和资源限制,而且该应用的接口繁多,我们不可能对所有的接口经行性能测试,而是选择从用户的角度思考,分析出关键业务来测试。下面选取了其中一个比较重要的接口,这个接口主要用于获取api详细信息。测试目标:按照用户需求,使用此系统的实际用户数在30人左右每天,为了对系统经行更加详细、更加有效的压力测试,本次测试分别模拟了10个用户并发以及50个用户并发,并对请求数分了1000和5000两个阶段经行比较;测试环境:实习单位内建的局域网,客户端与服务器端连接的速度约为10/100兆;测试内容:选取用户登录模块经行测试;设计思路:通过模拟用户并发操作,以检测系统的稳定性;测试工具:apachebench;网络协议:http;下面为测试报告:表3-3 数据库大数据量测试结果记录表通过以上测试结果显示,该应用的接口传输成功率达到100%,即此接口对于这些请求,都可以正常接收,并予以操作。通过对比吞吐量以及响应时间和传输率,可以看该应用当用50个请求是,会出现阻塞现象。通过需求可知,此应用的用户量不多,对于这样的性能,足以扛得住用户的请求。从以上数据可以分析:此应用的接口性能非常不错,属于中上水平,可以处理日常的事务以及并发量。3.3 qtp的自动化测试qtp是一个功能强大的自动化功能测试工具,通过它可以满足各种测试需求。本次测试主要运用它来录制脚本,然后对于模块经行切分,在输入框的地方设置检测点,并设置参数化的表格数据。通过参数化检查点属性的值,可以检查应用程序或网站如何基于不同的数据执行相同的操作。由于设计的模块多,这里不一一罗列,下面主要介绍登录模块的参数化测试。下面简单介绍测试过程。首先,创建测试文件,使用自带的录制工具对登录流程经行简单的录制,如下图所示:图3-1 创建测试文件录制完成之后,在expert view中可以看到qtp已经自动给刚才的录制,生成以下测试脚本。browser(api监控).page(api监控).webedit(username).set liyixuanbrowser(api监控).page(api监控).webedit(password).setsecure 5164034c49e12b7473302ff8121c2aa3b053cedca6eabrowser(api监控).page(api监控).webbutton(登录).click然后对原始脚本进行修改,按照测试需求,需要判断是否登录成功,因此,本次选用了判断某个主界面的按钮是否存在的方法以判断是否登录成功。修改后的脚本如下:browser(api监控).page(api监控).webedit(username).set liyixuanbrowser(api监控).page(api监控).webedit(password).setsecure 5164034c49e12b7473302ff8121c2aa3b053cedca6eabrowser(api监控).page(api监控).webbutton(登录).clickwait(1)if(browser(api监控).page(api 监控).link(添加产品).exist(2) thenreporter.reportevent micdone,登录成功,执行与预期一致elsereporter.reportevent micfail,登录失败,无法成功登录end if修改完之后,需要设置参数化表格,首先转到keyword view在value栏中对应输入框,打开value configuration options选框,像下图那样设置好表头名称。图3-2 参数化设置同理,对密码输入框也按同样方式设置。之后,根据测试用例,在表格上填上相应的参数。如下图所示:图3-3 参数化数据分布对应以下测试用例:用例一:用正确的用户名称,正确的密码去登录;用例二:用户名称后面添加空格,密码正确,测试登录情况;用例三:用户名称前面添加空格,密码正确,测试登录情况;用例四:用户名称中间存在空格,密码正确,测试登录情况;用例五:用户名首字母大写,密码正确,测试登录情况;用例六:用户名称全为大写,密码正确,测试登录情况;用例七:用户名称首字母大写,密码正确,测试登录情况;用例八:用户名称错误,密码正确,测试登录情况;用例九:用户名称后面添加特殊符号,密码正确,测试登录情况;用例十:用户名称为空,密码正确,测试登录情况;用例十一:用户名称正确,密码为空,测试登录情况;用例十二:用户名称正确,密码错误,测试登录情况;用例十三:用户名称为空,密码为空,测试登录情况。经修改后,其脚本的关键代码变为:图3-4 脚本代码片段下面开始测试上面用例:图3-5 测试脚本的运行经运行后,其测试报告如下图所示:图3-6 运行报告从上面的测试报告中,可以看出,用例三、四、八、九、十、十三均测试不通过,在这些测试不通过的用例中,我们可以观察到:1. 用户名称前面和中间都不能带空格,但用户名称后面可以带空格;2. 用户名称的大小写不敏感,大小写佳可;3. 用户名称必须正确,否则不能登录;4. 用户名称不能带有其它与用户名称不相关的字符,否则登录失败;5. 用户名称不能为空。但是,从测试通过的用例中,我们可以发现系统存在一个严重的bug,就是测试用例十一和测试用例十二,前者是用户名称正确,但密码为空,后者是用户名称正确,但密码错误。从这两个用例中,说明此系统的登录并不需要验证密码的合法性,也就是说,不管密码是什么,只要用户名称正确,就可以正确登录。从异常的优先等级标准以及异常的严重情度标准可以断定,这个是严重轻度高,而且必须立即修复的异常。3.4 多浏览器的兼容性测试本次选取的客户端浏览器有:ie6、ie8、ie9、chrome、firefox、safari、opera、360安全浏览器、搜狗浏览器、猎豹浏览器等。经测试,在ie9浏览器,最新版本的chrome、firefox以及safari等主流浏览器能正常展示,而且功能都能够正常使用,详细见下图:图3-7 测试情况视图但是在ie8浏览器下,出现部分功能无法使用,部分数据无法展示等异常情况,详细请看下图:图3-8 测试情况视图具体异常描述:1. 正常情况,顶部带红色方框的区域应该是被隐藏的,而在ie8下却没有隐藏;2. 中部带红色方框的区域数据没有展示;3. 底部带红色方框的区域文字没有居中,而且没有带灰色的背景颜色;4. 仔细观察按钮部分,没有带圆角。在ie6浏览器以及搜狗浏览器下,出现非常严重的跑版现象,详细见下图:图3-9 测试情况视图具体异常描述:1. 整体页面排版凌乱;2. 具体数据没有展示出来;3. 功能按钮无法使用;4. 无法正常使用。从上面的兼容性测试中,可以看出:客户端之所以出现异常,主要因为这些浏览器的内核不支持html5以及css3的新特性,导致界面排版跑版,功能按钮失效,以及样式出错等情况。在现今主流的支持html5以及css3的浏览器中,没有发现异常情况。根据需求分析中可以了解到,此应用仅要求chrome、firefox以及ie9必须支持,其它浏览器,尽量兼容。从异常的优先等级标准以及异常的严重情度标准可以断定,这个是严重轻度低,而且一个可忽略的异常。4 测试报告的实现与分析4.1测试环境与配置根据需求,本次选取的测试样品的服务端部署环境是基于linux操作系统的,客户端的运行环境是基于浏览器上的。由于本人仅有一台笔记本,考虑到现有的硬件资源,而且对于linux操作系统了解不多,为了达到测试要求,本次的测试环境由虚拟机完成,下面为具体的测试配置环境要求:服务器端硬件要求具体如下表所示:表4-1 服务器端硬件信息表服务器端软件均安装在ubuntu 12.04操作系统之上,并部署在内网使用,网络端口为8080端口。具体要求如下表所示:表4-2 服务器端软件信息表客户器端硬件要求具体如下所示:表4-3 客户端软件信息表客户器端软件均安装在windows xp操作系统之上,具体要求如下表所示:表4-4 客户端软件信息表4.2测试用例细化“api监控系统”的测试用例共执行486条,优先级高的有375条,其中测试用例通过的445条,测试用例不通过的有41条,下面是部分测试用例举例:测试编号1测试目的:验证用户登录功能测试;操作步骤:1.进入系统首页;2.输入正确的用户名和密码,单击登录按钮;预期结果:数据库中存在的用户将能正常登录;执行结果:测试通过。用例编号2测试目的:验证用户登录功能测试;操作步骤:1.进入系统首页;2.输入错误的用户名和密码,单击登录按钮;预期结果:错误的或者无效的用户登录失败,且弹框提示:“您输入的用户名或密码输入错误。”;执行结果:测试不通过。用例编号3测试目的:验证用户登录功能测试;操作步骤:1.进入系统首页;2.不输入用户名,单击登录按钮;预期结果:用户名为空时,用户登录失败,且弹框提示:“请输入用户名”;执行结果:测试通过。用例编4测试目的:验证用户登录功能测试;操作步骤:1.进入系统首页;2.输入正确的用户名;3.不输人密码,单击登录按钮;预期结果:密码为空时,用户登录失败,且弹框提示:“请输入密码.”;执行结果:测试不通过。用例编号5测试目的:验证用户列表功能测试;操作步骤:1.登录系统;2.点击用户管理;3.点击用户列表;预期结果:1.有其他用户时,能正常显示用户的id、用户名、email、权限、删除按钮;2、没有用户时,列表为空;3、列表显示除自己以外的用户;执行结果:测试通过。用例编号6测试目的:验证用户列表修改功能测试;操作步骤:1.登录系统;2.点击用户管理;3.点击用户列表;4、点击列表里的权限;预期结果:1、权限有两个选项“产品人员”和“管理人员”;2、当用户为管理人员时,单击“管理人员”控件,可改为“产品人员”;3、当用户为产品人员时,单击“产品人员”控件,可修改为“管理人员”;执行结果:测试通过。用例编号7测试目的:严重用户列表删除功能测试;操作步骤:1.登录系统;2.点击用户管理;3.点击用户列表;4、点击列表里的删除;预期结果:可删除该用户,使其不能登录此系统;执行结果:测试通过。用例编号8测试目的:验证添加用户功能测试;操作步骤:1.登录系统;2.点击用户管理;3.点击添加用户;4、输入正确的用户邮箱;点击添加;预期结果:1.添加未重复的用户邮箱,添加成功,且跳转到首页;2、添加已有的用户邮箱,弹框提示:“此用户已存在”;执行结果:测试不通过。基于web应用的自动化测试的设计与实现_第2部分总文字复制比:2%(100)总字数:49381基于xml技术的软件测试自动化马庆利(导师:孙辉) - 大连交通大学硕士论文- 2006-12-232.0%是否引用:否用例编号9测试目的:验证添加用户功能测试;操作步骤:1.登录系统;2.点击用户管理;3.点击添加用户;4、输入正确的用户邮箱;5、选择用户权限;点击添加;预期结果:添加成功后,用户列表显示与之对应的用户名、权限等;执行结果:测试通过。用例编号10测试目的:验证产品详情功能测试;操作步骤:1.登录系统;2.点击产品管理;3.点击产品详情;4.点击产品名称;预期结果:跳转到对应的产品的详情概览页面;执行结果:测试通过。用例编号11测试目的:验证产品详情功能测试;操作步骤:1.登录系统;2.点击产品管理;3.点击产品详情;4.鼠标移至错误日志数;预期结果:1、错误日志数不为零时,弹出提示标签,且点击错误日志数,可下载日志信息;2、错误日志数为零时,不弹出提示标签,且不能下载错误日志数;执行结果:测试通过。用例编号12测试目的:验证产品详情功能测试;操作步骤:1.登录系统;2.点击产品管理;3.点击产品详情;4.鼠标移至对应产品删除控件处;预期结果:弹出提示标签,且点击删除,可删除对应产品;执行结果:测试通过。用例编号13:测试目的:验证产品详情功能测试;操作步骤:1.登录系统;2.点击产品管理;3.点击产品详情;4.鼠标移至对应产品状态控件处;预期结果:弹出提示标签,且点击控件可修改状态“启用”(蓝色)和“暂停”(红色);执行结果:测试通过。用例编号14测试目的:验证产品详情功能测试;操作步骤:1.登录系统;2.点击产品管理;3.点击产品详情;预期结果:成功日志数为0或错误日志数为零时,该产品所在的列表颜色最深;匹配率小于30%时,该产品所在的列表颜色为次深;当匹配率大于等于30%时,该产品所在的列表颜色为最浅(白色);执行结果:测试通过。4.3 第一轮测试发现的问题“api监控系统”测试共发现34个bug,其中,优先级为立即修复的bug共23个,bug类型为功能的共21个,bug的严重程度高的共15个,由于篇幅过多,下面是部分bug描述:1. summary:用户名为空时,弹框提示语不正确;描述:重现步骤:1.用户名为空,点击登录;2.弹出提示框,提示提示语为:请输入密码;提示语文案错误,应该改为“请输入用户名”;bug类型:界面;优先等级:立即修复;bug严重程度:低。2. summary:密码与用户名不匹配,仍然可以进入系统;描述:重现步骤:1.输入已注册的用户名;2.任意输入密码,皆可进入系统;bug类型:功能;优先等级:立即修复;bug严重程度:高。3. summary:修改产品详情状态后,不应该跳转页面;描述:重现步骤:1.已登录系统;2.产品管理产品详情产品状态点击修改;3.修改完成后,跳转到产品列表页面;4.应该不跳转页面,仍在产品详情页面;bug类型:功能;优先等级:必须修复;bug严重程度:中。4. summary:删除用户列表中的某个用户,页面跳转不正确;描述:重现步骤:1.已登录系统;2.用户管理用户列表删除某个已有用户,跳转转到产品列表页面;4.应该不跳转页面,仍在用户详情页面;bug类型:功能;优先等级:必须修复;bug严重程度:中。5. summary:预警设置,条件二选择无数据时,条件四应该默认为零;描述:重现步骤:1.已登录系统;2.预警设置条件二选择无数据时,条件四仍需要手动改为等于0,应该默认为零;bug类型:改进;优先等级:必须修复;bug严重程度:中。6. summary:在ie6浏览器和搜狗浏览器下,系统界面跑版;描述:重现步骤:在ie6浏览器或搜狗浏览器上登录该系统,系统界面跑步;bug类型:兼容;优先等级:必须修复;bug严重程度:高。4.4 第一轮测试结果分析本次测试是按照测试计划,严格地执行。在测试执行的过程中,根据测试计划以及用例,对系统进行了第一轮的测试。测试结果表明:“api监控系统”仍存在这少数缺陷:1、系统安全性不高。系统必须要具有严格的权限设置功能,不同权限的人员只能看到自己有权限访问的字段,这样可以有效的保证数据的安全性。但是此系统对用户密码的没有做相应的匹配,导致用户可随便登录该系统,严重破坏了系统的安全性。2、系统的兼容性低。经过覆盖多个浏览器(包括:ie9、ie6、搜狗、猎豹、谷歌、百度等),其中ie6和搜狗浏览器不兼容,界面严重跑版,严重影响了用户的试用。缺陷引入原因分析:在测试的过程中,被发现的缺陷主要存在以下几个方面:1、需求定义的不够明确:在需求文档中,首先,存在着很多细节没有定义。例如:文案的内容,以及文案的显示时机都没有明确的定义出来。其次,文档中存在这功能定义错误,使得开发人员根据需求进行设计时,相关联的功能未考虑。因此,在测试过程中,需求相关的问题通通的表现出来了。2、功能性错误:首先,由于存在未实现的功能,以至于不能按照需求规定的内容测试。其次,功能实现有误,实现了需求没有定义的功能,等于虎蛇添足了,在执行需求定义的功能时系统出现了功能性错误。4.5 验收测试4.5.2 测试环境与配置测试环境与配置和第一轮测试相同4.5.1 测试内容1.回归第一轮发现的所有以修复的bug,共34个bug,全数通过。2.完全执行了每一个测试用例,测试通过。4.7 测试结果分析4.7.1 对比分析本轮测试的版本为“api监控系统”的最终版。与第一个版本相比,此版本的首先修复了在第一轮中发现的所有问题,已经不影响用户的使用了。其次,最终版完全按照需求,也保证了产品的质量。并且,此版做了性能上的优化,主要体现在数据入库和缓存计算的速度大大的提升。同时,数据的准确度也有相应的提高。此版本考虑到用户的体验,所以做了更加人性化的设计。4.7.2 bug分析针对发现的问题,按照bug的严重级别和bug类型,做出了详细的分析,具体如下:表4-5 bug严重级别列表图4-1 bug严重级别分析折线图表4-5 bug类型分布图4-2 bug类型分布饼图4.6 测试结论及发布建议46.1 测试结论根据本次测试设计的样品选取以及其需求分析,经过此次系统化、自动化的测试,可以得出以下结论:在功能模块上,基本实现了需求上的大部分功能,能够达到需求文档上的标准。从性能上看,“api监控系统”的资源使用率较低,系统性能表现良好。可达到发布状态。4.6.2 发布建议1、在测试过程中发现,在服务器端的配置项过多,过于繁琐,对应用的迁移是一种“硬伤”,建议改进。2、数据库的数据缺乏一个很好的备份机制,如果硬盘的出了故障,就会导致数据丢失,影响历史记录。3、实时性不够精确,目前的实时性级别停留在一个小时内的实时,希望精确度分钟级别。4、系统的可扩展性还有待提高,不便增加新的功能。5、最后,建议更改提示语文案,使用户体验更加的人性化。4.7 自动化测试的意义通过学习使用自动化测试工具,真正地体会到自动化测试的优越性。首先,显而易见的就是自动化测试能够做到覆盖所有代码路径,这是手工测试无法做到的。其次,它可以做一些简单的且具有一定的机械性、重复性的用例,工作量往往较大。同时,进行系统压力、性能测试时,需要模拟大量数据等,很难通过手工测试来进行。所以,自动化测试不仅提高了测试的效率,降低了成本,节省了人力资源,缩短了开发周期,而且,增强了测试稳定性和可靠性,提高了产品的质量。当然,自动化测试很显然是并不会完全取代手工测试的。手工测试比自动化测试能发现更多缺陷。所以说,软件自动化测试优点就是提高测试效率、可靠性以及覆盖率等,可是,尽管如此,但它不不能代表着测试的全部,只是测试工作的一部分,仅仅是对手工测试的一种补充罢了。5 结束语5.1 心得体会在测试的过程中,我深深的体会到软件测试是软件开发中不可或缺的一部分。在当今社会,软件无处不在,人们在不同的场合不同的时机都会不知不觉地使用软件。由于用户量急剧的加大,软件的质量成为了我们关注的焦点。然而,软件测试就是软件质量保证的关键步骤。所以,作为一名测试人员,身担重要的角色。正是因为这次测试,我学到了之前没有学到的知识:1.带有一颗质疑的心。一名合格的测试人员必须要具备怀疑一切的能力。当我测试通过的产品交到用户的手中时,我希望是用户认为满意的产品。倘若我没有认真负责的完成测试,没有抱着怀疑的态度,总是想着这个功能的版本应该没有改过不会出现问题的,或者说,这个功能没什么大用处,用户根本就不会发现bug的。但是用户用起产品来总是千奇百怪的,一旦让用户发现软件的质量低的话,照成的后果是可想而知的。所以,一定要抱着质疑的态度,认真的测试产品每个功能的测试点。2.必不可少的就是认真了。我认为一名测试人员要以认真细心为基础。每天都对着乏味的程序代码,做着重复的工作,而且要发现产品中隐藏的bug。倘若不踏实,根本坐不住的,以至于无法净下心来把自己当成用户去体验以及需求对产品的要求,是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑协议书汇编15篇
- 1+X幼儿照护(初级)知到智慧树答案
- 《红楼梦》“三书”浅说知到智慧树答案
- 《创新创业过程与方法》知到智慧树答案
- 零售行业变革与挑战
- (高级)审计理论与实务知到智慧树答案
- 机电设备抗震加固与设计方案
- 供水管网工程施工人员培训方案
- 燃气项目施工临时设施方案
- 水稻小麦课件
- 厨房消防安全培训
- 小陈 税务风险应对常见指标与答复思路
- 2025年《中华人民共和国档案法》知识培训试题及答案
- 2026年高考政治一轮复习:必修2《经济与社会》知识点背诵提纲
- 2025至2030年中国建筑膜行业市场调查研究及发展趋势预测报告
- 2025年急诊急救试题(附答案)
- 2025年北京市中考语文试卷(含答案与解析)
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 实验报告-探究杠杆的平衡条件
- 第3章access2010查询操作-上传
- 钳工手工制作六角螺母详细
评论
0/150
提交评论