版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科毕业设计(论文)基于单词天天背小程序的黑盒测试技术的研究与分析Research and Analysis of Black box Testing Technology Based on WeChat Mini Program院 (系)计算机学院软件工程系专 业软件工程班 级16软件1班学 号16210120129学生姓名余淑仪指导教师姚庚梅提交日期2020年3月30日中文摘要信息时代下互联网蓬勃发展,越来越多的软件产品逐渐问世,为了保障软件的质量,测试是必要的。软件测试就是指在规定的条件下对程序进行测试实施操作,从而发现程序中所存在的问题,去衡量软件的质量,并对其进行评估,看是否能够满足
2、设计的要求。而黑盒测试则是非常重要的,黑盒测试即是功能测试,就是在用户的角度,去对软件进行输入数据,查看输出数据是否与输入相对应。目前在软件测试中黑盒测试相当于基础,然而测试用例在黑盒测试中是位于核心的位置,在进行黑盒测试前根据需求文档进行测试用例的编写,并执行测试用例,能够在较短的时间内发现缺陷,保证软件的质量。本课题主要内容以黑盒测试技术的研究与分析为主,以单词天天背微信小程序为实例,利用所学的测试用例的设计方法以及实习中所学到的测试用例设计方法相结合执行操作测试,从而进行对基于单词天天背微信小程序的黑盒测试技术的研究与分析。关键词:黑盒测试 测试用例 软件测试AbstractWith t
3、he rapid development of the Internet in the Information Age, more and more software products come out gradually. Software testing is to test and operate the program under the specified conditions, so as to find the problems in the program, to measure the quality of the software, and to evaluate it t
4、o see whether it can meet the design requirements. The black box test is very important. The black box test is the function test, which is to input data to the software from the users perspective and check whether the output data corresponds to the input. At present, the black box test is equivalent
5、 to the foundation in the software test, but the test case is located in the core position in the black box test. Before the black box test, the test case is written according to the requirements document, and the test case is executed, which can find the defects in a short time and ensure the quali
6、ty of the software.The research and analysis of black-box testing technology is the main content of this paper, using the method of the design of the test case and the method of the design of the test case which we have learned in the practice to carry out the operation test, thus carries on the res
7、earch and the analysis to the black box test technology which based on the word daily back Wechat applet.Key words: Black box testing Test case Software testing目 录第一章 绪论11.1课题研究背景11.2课题研究意义与目的11.3国内外研究现状11.4创新思路11.5课题研究的主要内容11.6本章小结2第二章 黑盒测试技术的研究32.1软件测试中的黑盒测试32.2黑盒测试的方法研究32.3黑盒测试的流程研究42.4黑盒测试与白盒测试的
8、对比研究52.5基于单词天天背小程序的黑盒测试技术的研究62.6本章小结6第三章 黑盒测试设计研究73.1测试设计工具研究73.2用例设计规范研究73.3测试设计方法研究83.3.1等价类划分法研究83.3.2边界值分析法研究93.3.3场景法研究93.3.4因果图法研究103.3.5判定表驱动法研究103.3.6错误推测法研究113.4创新测试用例方法研究113.4.1探索式测试法的定义的研究113.4.2探索式测试法的方法研究123.4.3探索式测试法的优缺点143.5本章小结14第四章基于单词天天背小程序的黑盒测试技术的分析154.1测试需求分析154.1.1功能需求分析154.1.2业
9、务流程分析154.2测试计划194.3测试用例设计214.4测试脚本设计224.5本章小结27第五章测试结果分析285.1测试实施285.2测试结果与分析315.3测试产生的问题和解决方案345.4本章小结34第六章总结与展望356.1结论与创新356.2后续研究展望356.3本章小结35参 考 文 献36致谢37图表目录图2-1 软件测试组成占比3图2- 2 测试用例设计方法4图 3 等价类划分法8图 4 边界值分析法9图 5 基本流与备选流9图 6 设计场景9图 7 设计测试用例10图 8 因果图10图 9 策略表11图 10 错误推测法11图 11 功能分析15图 12 切换计划16图
10、13 开始学习17图 14 错题本18图 15 切换模式19图 16 切换计划测试用例21图 17 开始学习测试用例21图 18 错题本测试用例22图 19 切换模式测试用例22图 20 切换计划测试脚本123图21 切换计划测试脚本224图 22 开始学习测试脚本125图 23 开始学习测试脚本225图 24 错题本测试脚本26图 25 切换计划测试脚本26图 26 测试实施流程图28图 27 连接真机129图 28 连接真机229图 29 脚本录制29图 30 测试结果报告30图 31 缺陷报告30图 32 测试结果31图 33 切换计划测试报告32图 34 开始学习测试报告32图 35
11、错题本测试报告33图 36 切换计划测试报告33表 1 测试进度19表 2 功能测试工作进度19表 3 测试资源20表 4 测试环境20表 5 测试工具20第一章 绪论1.1课题研究背景从软件测试行业的崛起到如今,在信息时代快速发展的推动下,软件测试技术逐渐得到增强,方法也越来越多,但是针对每一款软件时,我们要选择合适的软件测试方法,因为这样可以让我们少走弯路,更加有效率。黑盒测试在软件测试这一专业当中仍处于主要部分,但是随着测试技术的快速发展,面对各种各样的软件,只测试简单的功能现在的趋势下是不怎么存在的,因此测试人员就得除了简单的功能测试问题外还得定位问题,所以我们需要黑盒测试技术的基础上
12、不断研究分析并进行一定的创新,去提高测试效率以及质量,去发现更多的缺陷并定位问题。 1.2课题研究意义与目的随着信息时代的快速发展,各类软件应用APP以及网站等越来越多,人们的生活已经离不开信息科技,然而一款软件的问世,是必须经过测试才能问世的,软件测试就是对被测应用进行测试,然后找到错误,再对应用进行质量评估,衡量质量。而黑盒测试,则是软件测试中的经典测试方法,在国内现状是测试领域的基础,黑盒测试也叫做功能测试,即以手工的方式进行测试,看功能是否存在问题或错误。在用户的角度,输入数据后查看输出结果。通过黑盒测试,发现一些功能是否实现,界面是否有什么问题,输入及输出是否有问题等。能够让我们的软
13、件在被用户使用之前,首先在用户的角度发现软件所存在的问题,加以处理修改,从而确保软件的质量。比如就以目前的一个单词天天背微信小程序来说,小程序的发布之前,我们必须经过测试,确保这个小程序能够正常使用以及操作后才会发布上线,并且发布前必须进行黑盒测试,因为黑盒测试为测试基础,目前来说也是主要的,高质量高效率的黑盒测试必须经过阅览需求文档后编写全面并且细致的测试用例,而测试用例需要考虑到等价类划分以及场景设计等方法,严格执行测试用例,将发现的缺陷编写成缺陷报告,再次进行回归。高质量高效率的黑盒测试更能确保一款软件的质量保障。广东东软学院本科生毕业设计(论文)1.3国内外研究现状在国外,软件测试是十
14、分重要的,特别是在开发大型系统软件的IBM、Microsoft等公司,开发和测试人员所占据的比例甚至能达到1:4,软件测试技术中的自动化测试正在飞速发展,正朝着通用化、标准化、网络化和智能化方向发展1,并开发出大量的测试工具,而黑盒测试虽然是软件测试中的主要部分,但在国外黑盒测试相对少用,侧重于自动化测试工具。在国内,软件测试也逐渐从一个新兴产业发展起来,越来越多公司重视软件测试,但是技术上仍不完善,测试人员也相对较少,国内软件企业的人员比例则仅仅为5:1。自动化测试技术也逐渐发展,并且逐渐被广泛应用,但是现在国内现状来说还是比较侧重于黑盒测试这种相对于基础的测试方法,很多公司都以黑盒测试为主
15、要的测试方法。1.4创新思路黑盒测试从用户角度出发,不需要了解程序内部的代码及实现,根据用户使用操作进行各个功能点的测试,效率相对低下,我做了一下几点创新:1、根据需求文档,熟悉利用等价类划分、有效类划分以及场景设计等方法设想更多正常以及不正常的测试用例,并且用思维导图方式编写2、利用探索式测试法3、创建简单明了的缺陷,将缺陷按照ID、所在模块、操作步骤、预期结果以及实际结果进行精简描述贴上Bug截图 1.5课题研究的主要内容本课题主要内容是对黑盒测试技术的研究与分析,并分析出黑盒测试目前在软件测试中的重要性以及作用,针对对于实例“单词天天背”这个微信小程序来进行实践后展开的一个黑盒技术的研究
16、与分析,通过实践的研究与分析,将黑盒测试技术中测试用例方法的设想进一步提升,融合等价类划分、边界值划分以及场景设计法等设想出高质量的测试用例,严格执行测试用例,推高软件质量。本课题研究与分析主要集中在以下几方面:1、黑盒测试技术的定义2、黑盒测试在软件测试中的重要性以及作用3、黑盒测试中测试用例的方法4、黑盒测试技术的研究与分析总结1.6本章小结在互联网盛期时代,软件测试中的黑盒测试技术地位虽然重要,但是随着时代发展,不规范不完善的黑盒测试技术是会被自动化测试工具所替代的,所以我们要指定规范的黑盒测试方法,并对黑盒测试方法进行一定的创新,完善黑盒测试技术。第二章 黑盒测试技术的研究2.1软件测
17、试中的黑盒测试软件测试方法就是指测试软件的方法,而黑盒测试是软件测试的主要部分,是一种比较经典、传统的测试方法,在软件测试中来说相当于基础,黑盒测试是以客户的需求为标准,去进行测试实施,查看软件的功能是否达到。图2-1 软件测试组成占比如上图占比图可知,在软件测试中主要分为白盒、黑盒还有灰盒测试,灰盒测试就是黑盒和白盒的混合,在软件测试中黑盒测试是很重要的,黑盒测试主要是界接口、数据的输入、操作还有逻辑,是较为完善的一种测试方法,所以在测试行业来说黑盒测试在软件测试中占比较大,被广泛运用。2.2黑盒测试的方法研究黑盒测试也叫功能测试,即以手工方式实施测试操作,然而想要达到较为高质量、高效率的测
18、试效果,那么测试的方法是很讲究的,把所有可能的输入都进行测试,才能检测出程序中所有的错误。所以我们要不断地在用户角度设想出更多合法、有效的输入,以及不合法、无效的输入。将所有可能都测试出来,保证软件无缺陷是不可能的,所以我们需要有针对性的测试,设计好完善的测试用例,规范执行测试用例。黑盒测试当中设计测试用例较为常见的方法有以下六种,如:等价类划分、边界图2- Error! Main Document Only. 测试用例设计方法值、场景、错误推测、因果图、判定表驱动。测试用例设计的方法有很多,但是常见的主要有上图所示这几种,其中最为常用的有边界值分析法、等价类划分法以及场景设计法,边界值分析法
19、;等价类划分法,输入有效与无效的数据进行对比,检验出更多的可能性与情况。场景设计法设想出各种正常与不正常的操作场景,对程序进行验证,发现更多罕见的错误操作;因果图法、判定表驱动法以及错误推测法用作辅助,能够发现更多程序上所存在的错误。2.3黑盒测试的流程研究1、测试计划测试计划就是根据需求文档,对需求文档进行分析后开始编写的测试计划,根据测试计划中所分配、安排的时间、使用的工具、人员所负责的工作、功能测试的标准来进行开展测试工作,查看程序是否符合测试计划中需求的要求,制定一个完善的测试计划能够大大提高测试效率。2、测试设计测试设计就是通过分析测试计划和需求文档,然后划分功能点,分为一个个可以执
20、行操作的程序,对这些程序结合测试用例设计方法设计出完善的测试用例,这会影响到测试的结果,所以必须重视。3、测试开发测试开发就是软件在编码的时候所作的测试工作,在开发人员提供的测试环境等基础上进行测试用例的编写。可用思维导图工具进行用例的编写,细化分明每个子功能的操作步骤,备注其操作步骤下的运行环境以及状态;对每一个操作中数据的输入与预期输出进行描述。4、测试执行执行测试就是对已经设计好了的用例进行执行操作,在执行测试用例的过程中对发现的问题判断缺陷等级,并描述缺陷记录好,方便后续开发人员的修复,另外还要进行跟踪管理。5、测试评估测试评估就是经过执行测试后,对测试的覆盖率以及缺陷报告进行分析,在
21、被测软件达到一个稳定的程度,对测试结果进行总结评定,看看软件是否满足测试标准,达到预期结果。2.4黑盒测试与白盒测试的对比研究软件测试主要方法为黑盒测试和白盒测试,黑盒测试主要是在客户需求文档的基础上,对软件进行功能测试,看看是否达到客户需求的要求,白盒测试主要是应用的结构与算法。白盒测试是在测试实施过程的前期,而黑盒测试则是测试实施过程的后期。一个程序有外部与内部两个结构,而黑盒测试主要在于程序的外部结构,黑盒测试的作用是检测功能、界面显示情况、是否有错误、数据结构等是否有错误。并且黑盒的优点就是相对简单,不用考虑程序的代码,只是在用户的角度出发,更加易于发现错误,黑盒测试对需求文档进行分析
22、的基础上进行测试,易于发现哪些功能已实现,因此做自动化测试时相对简单;黑盒测试的缺点在于代码覆盖率较低。白盒测试就是相当于一个可以看得见的盒子,根据应用内部结构设计测试用例。在不同的地方查看是否存在问题,查看实际结果跟预期结果是不是一致的。白盒测试的优点在于能够提高代码的覆盖率,快速地发现代码中所存在的问题;而缺点在于程序运行会有许多不同的路径,没办法将所有的路径都进行测试,并且是基于代码的测试,没办法知道是否与设计相符,所以有可能会遗漏一些功能需求,并且系统比较大的时候测试开销会很大2。黑盒测试与白盒测试主要的区别就是黑盒测试不涉及到程序结构,根据需求文档设计测试用例,但是不能将代码全部进行
23、测试,而白盒测试则是在于程序内部的逻辑结构,用程序结构设计测试用例,对所有逻辑路径进行测试3。本次课题选择黑盒测试技术研究主要因为目前国内软件测试领域中黑盒测试仍占主要部分,作为测试人员来说,黑盒测试是基础,研究黑盒测试技术有助于测试人员技术上的扎根更稳,并且黑盒测试技术需要不断创新,所以研究黑盒测试是个不二选择。2.5基于单词天天背小程序的黑盒测试技术的研究近年来,微信小程序方便广大人民群众的日常生活,推动广大人民群众的科技使用以及扩展学习途径以及质量,推广出各种学习上的小程序,如“单词天天背”小程序,在这种网络遍布各地时期,网站以及各种软件或者小程序普遍进入盛期,在各种网站、软件等产品问世
24、的推动下,软件测试随着被推动发展,此时测试中的黑盒测试方法作为测试的主要方法,黑盒测试技术被国内众多企业广泛运用。一、黑盒测试原理:黑盒测试是在用户角度,输入数据后查看输出数据,检测每一个功能能不能正常使用。二、测试流程: 1、需求:对产品经理给到的需求文档进行分析;2、测试计划:分析需求文档后开始预估测试所需要的时间、人力等进行分配与时间安排;3、测试用例设计:分析需求后对被测产品划分功能点,结合等价类划分、场景设计、边界值划分等方法设计出合理的测试用例;4、执行测试:按照测试用例上的详细步骤执行测试用例;5、记录执行测试结果,追踪、管理缺陷:对Bug进行缺陷等级划分,待缺陷修复后进行回归测
25、试;6、线上用户体验。2.6本章小结黑盒测试在软件测试技术中是十分重要的,黑盒测试技术的核心就是测试用例的设计,测试用例设计的方法有很多,需要结合各种测试用例设计的方法去设计测试用例,不断设想更多的不合法操作去提高软件的质量,当然除此之外,缺陷的管理也是十分重要的,要确切缺陷的修复,在回归测试中严格执行。第三章 黑盒测试设计研究3.1测试设计工具研究目前市面使用的测试设计工具有很多,包含Appium、Selenium、Loadrunner、JMeter、Airtest以及Postman等。Appium是一款移动应用自动化测试开源工具。 Appium自动化测试工具的优点在于支持跨平台;支持多种语
26、言;支持Windows桌面平台上的原生、移动Web和混合应用4。缺点在于兼容性差,如:高版本与低版本手机的切换;输入法必须用Appium的自带输入法;长时间运行不太稳定;对安卓的toast组件无法操作。Selenium是一款网站应用自动化测试工具,主要用于测试兼容性。Selenium的优点在于操作方便,容易上手;支持跨域;代码容易转换生成其他语言的用例代码。缺点在于只支持Mozilla Firefox;录制脚本回放时稳定性不强。Loadrunner是一款测试性能的负载自动化测试工具,主要用于测试性能。Loadrunner的优点在于简单易懂,操作方便;预测结果概率在0到1。缺点在于预测结果呈“S
27、”型,很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值5。JMeter是一款压力测试自动化测试工具,主要用于压力测试。JMeter优点在于测试脚本不需要编程,维护方便;不依赖界面;可以跳过页面限制。缺点在于无法测试验证页面;断言功能不够强;脚本无法判断是否正确运行。Airtest是一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的优点在于支持屏幕录制方式、截图、代码进行脚本录制;操作简单易懂,容易上手;工具界面与手机屏幕实时;支持IOS、Android、H5;缺点在于支持语言以Python为主,有局限性。Postman是一款接口测试自动测试工具,Postma
28、n的优点在于简单易懂,实用且美观;调试方便。缺点在于无法实现脚本与脚本的串联调用;API场景测试单一。以这六种测试用例设计工具,本次课题我选用了Airtest这款UI自动化测试工具,因为Airtest的安装以及配置相对简单,操作也比较容易上手,连接真机进行脚本录制简单快捷,有测试报告,实用性较高。3.2用例设计规范研究测试用例的设计对整个测试工作十分重要,决定着测试的成败,所以设计好一个完善的测试用例是很重要的,测试人员要学会如何设计出最完善的测试用例。现在测试行业中设计测试用例的规范如下:一、根据需求文档提到的功能模块进行划分,细分到各项子功能都具有可操作性二、结合概要设计和详细设计,对每个
29、子功能进行测试用例的设计,选一些有代表性的数据进行测试,其中我们要遵守设计测试用例的原则:1、对一般的功能进行正常操作下的输入跟输出;2、对一些特殊的子功能要考虑它的正常功能(合理、有意义的数据)以及不合理、无意义的数据;3、可以根据经验和直觉对一些比较容易出错的子功能进行预测。三、编写测试用例,描述各测试用例。四、设计好大概的测试用例后,将测试用例的操作步骤详细化。本次毕业设计选用了需求文档分析,随后分功能点罗列出来,再进行测试项的细化,添加操作步骤以及测试预期结果。3.3测试设计方法研究3.3.1等价类划分法研究等价类划分法主要分为有效和无效等价类,有效等价类就是指正常的、有意义的输入,而
30、无效等价类则是不正常的、无意义的输入(即不正确的输入值);优点在于能够将大部分可能性的代表数据输入进行测试,缺点在于仅仅限制在数据的输入,大多用于输入限制;图 3 等价类划分法3.3.2边界值分析法研究边界值分析法就是对数据的边界值进行测试,经常被用于输入框的长度限制图 4 边界值分析法3.3.3场景法研究场景法设计就是通过设想场景来对被测软件进行用例编写,按照正常的操作场景,在每一步接下来的操作过程中会出现的错误操作作为场景,从而提高测试效果。场景法由基本流和备用流形成;基本流为正常操作步骤的实施,备用流则是各种在每个流程步骤中可能会出现的错误操作。1、第一步我们来确定基本流和备选流:图 5
31、 基本流与备选流2、第二步我们根据基本流和备选流来确定场景图 6 设计场景3、第三步我们来设计测试用例图 7 设计测试用例3.3.4因果图法研究因果图法就是用图解来表示输入的各种组合关系,写出判定表,从而设计相应的测试用例,适合于检查程序输入条件的各种复杂组合情况。先画因果图,将其转成判定表,再根据判定表来编写测试用例。图 8 因果图3.3.5判定表驱动法研究判定表驱动法也叫做策略表,是黑盒测试中最严密的测试方法。这个方法适合在复杂的场景下使用,通过穷举条件获得结果,再对结果进行结合,优化分析,得出一个判断清晰的策略表图 9 策略表3.3.6错误推测法研究错误推测法就是通过测试的经验和直觉来推
32、测程序中的可能存在的错误。图 10 错误推测法3.4创新测试用例方法研究3.4.1探索式测试法的定义的研究我们在执行完测试用例,或者测试一些没有测试用例的需求,或者线上自由测试时,如果漫无目的、没有条理,缺乏方针地盲目测试,就会浪费很多时间,效率低下,Bug发现率也不高。这里探索式测试就适用于我们,它有很多指导方法可以指导我们怎么去发现更多的缺陷和验证功能,保证良好的测试覆盖率。探索式测试是一种重要的测试方法。探索式测试就是“探索”,它强调了我们在测试中的未知因素和我们对被测系统进行主动学习的过程,它还强调 测试设计 和 测试执行 的同时性。探索式测试强调的是思维发散,一次的测试过程必须遵循S
33、MART原则,在一定的时间周期内围绕测试目标做探索式测试,并根据测试结果进行分析,不断优化调整测试方向7。3.4.2探索式测试法的方法研究3.4.2.1基础类方法1、指南测试法指南法就是分析需求文档、用户手册等,按照操作进行的测试,检验产品功能是否按照需求预期实现。2、反叛测试法输入不可能的、不合法数据,检验程序对于异常输入数据的处理能力。包括非法输入内容和错误的输入顺序。例:单词天天背小程序中学习页面的上滑功能,多个手指同时操作滑动,一个上滑一个下滑3、极限测试法向被测系统输入难以做出处理的数据。 例:传单文本中输入大量内容时,切换字体后,点击保存出现报错。4、破坏测试法破坏被测系统的环境,
34、数据等的基础上执行操作 例:比如在保存的过程中刷新页面中断保存操作。5、懒汉测试法几乎使用默认值去进行测试。 6、测一送一测试法用户同时在不同环境下同时操作同一个用户数据对象。例:比如同时打开多个同一内容的页面进行编辑。7、出租车测试法根据熟悉的路径验证每一条路径是否能安稳得将用户送至目的地。例:传单中快捷键打开素材库的功能,哪些地方允许打开素材库,哪些地方不需要打开素材库。8、强迫症测试法重复输入相同数据,反复操作同一个按钮。例:单词天天背小程序错题本中快速多次点击所有单词tab,出现乱码提示。9、超模测试法超模法是一种纯界面测试方法,它的原理是不关注特性,而只关注界面的设计是否给我们带来愉
35、悦感8。10、取消测试法启动某个操作然后停止,检查应用程序是否能正常工作。主要关注:A、测试对象的状态改变后,取消操作,程序能正常工作。B、操作被取消后,再次执行,程序能正常工作。例:比如下载状态取消下载3.4.2.2深入探测方法1、收藏家测试法收藏应用数据的输出。2、地标测试法把被测软件功能当成地表,从这个功能点到那个功能点进行探索测试。3、遍历测试法选一个目标,用最简单方便快捷的路径访问目标中的所有对象。4、快递测试法像快递一样,数据在软件中不断的流动。5、通宵测试法不关闭程序,让程序一直运行。6、长路径测试法选择目标,到达目标前选择最复杂最远的路劲进行测试。3.4.2.3分区域测试方法1
36、、卖点测试法测试那些最能卖钱的特性。2、配角测试法找到主要特性中的配角特性,对这些特性进行的测试。3、恶邻测试法Bug一般扎堆,一个bug附近进行测试。 4、上一版本测试法根据上一版本再次进行测试查看新表现。5、深巷测试法测试最不会被用户使用的小功能进行测试。3.4.3探索式测试法的优缺点好处:1、能够找到更加隐秘的缺陷2、能够对被测软件得到深层的了解与熟悉3、使得测试人员更加积极误区:1、随性测试,到处点点;2、做探索式测试不写测试用例了3、替代最主体的系统测试4、用探索式测试去覆盖回归需求3.5本章小结在黑盒测试设计中测试用例的设计是一个核心,是评估测试结果的一个基准,根据测试用例执行测试
37、保证不遗漏功能点,引导测试人员,对整个测试项目起着指导性作用;测试用例的设计方法也越来越多,结合更多的测试方法设计出来的测试用例能够大大保障软件的质量,并且思维导图X-mind能够辅助测试用例更好地编写,能够让测试用例看起来更加清晰易懂,逻辑性强。第四章基于单词天天背小程序的黑盒测试技术的分析4.1测试需求分析4.1.1功能需求分析进入单词天天背主页面,点击切换计划按钮进入选择单词任务页面,切换为“四六级”栏目,点击栏目下的任一书籍,点击选择此书返回首页;点击开始学习按钮进入学习页面,听单词选择选项,选择正确选项或者错误选项后点击继续背,不需要进行更多的测试;返回首页点击错题本,点击DAY选择
38、下拉框进行选择,切换今日错词、所有单词,点击复习该阶段错词按钮进入学习页面,只需到达,不需要进行更多的测试;返回首页点击切换模式,整个测试过程不需要进行登陆,对于测试过程中的弹窗,可跳过或关闭,在脚本当中体现。图 11 功能分析4.1.2业务流程分析根据单词天天背微信小程序业务流程,对单词天天背微信小程序进行如下图的业务流程图展示。1、切换计划图 12 切换计划如图12所示,切换计划功能模块的业务流程测试是在微信打开单词天天背小程序的前提下,根据业务流程图的步骤进行操作的。进入切换计划页面后,任意点击任一栏目(如:四六级),再点击任一书籍,弹出书籍简介弹窗后进行选择,尝试关闭弹窗进行取消选择和
39、点击选择此书两种情况查看,对每个子功能进行校验。2、开始学习(学习页面)图 13 开始学习如图13所示,开始学习功能模块的业务流程测试是在微信打开单词天天背小程序的前提下,根据流程图的步骤进行操作的。点击开始学习进入学习页面后,点击上/下一词,进入练习页面后选择单词选项ABCD以及不确定选项,进入单词详情页后分别点击继续背查看,对每个子功能进行校验。3、错题本图 14 错题本如图14所示,错题本功能模块的业务流程测试是在微信打开单词天天背小程序的前提下根据流程图的步骤进行操作的。进入错题本页面后,点击DAY下拉按钮进行日期选择,点击确定或取消,切换今日错词与所有错词查看,对每个子功能进行校验。
40、4、切换模式图 15 切换模式如图15所示,切换模式功能模块的业务流程测试是在微信打开单词天天背小程序的前提下,根据流程图的步骤进行操作的。点击切换模式,在提示弹窗中尝试选择确定或取消按钮两种情况查看,对每个子功能进行校验。4.2测试计划项目测试进度规划如下表所示:表 1 测试进度测试活动计划开始日期计划工作时长(人日)结束日期制定测试计划2020-1-101*10/人日2020-1-20设计测试2020-1-211*25/人日2020-2-15功能测试执行2020-2-161*28/人日2020-3-16用户界面测试执行2020-3-171*4/人日2020-3-20功能测试工作进度预估如下
41、表所示:表 2 功能测试工作进度任务名称计划开始日期计划工时(人*日)人员分配切换计划功能测试2020-2-161*8/人日余淑仪开始学习功能测试2020-2-241*7/人日余淑仪错题本功能测试2020-3-21*7/人日余淑仪切换模式功能测试2020-3-81*7/人日余淑仪返回按钮功能测试2020-3-141*2/人日余淑仪关闭按钮功能测试2020-3-161*2/人日余淑仪测试资源(人力资源)安排如下表所示:表 3 测试资源角色所推荐的最少资源(所分配的专职角色数量)具体职责或注释项目经理11、对整个项目负完全责任。 2、 确保全部工作在预算范围内按时优质地完成3、 领导项目的计划、组
42、织和控制工作,以实现项目目标。4、 严格执行项目管理的规范5、 负责整个项目干系人之间关系的协调。文档编写人员1负责文档编写测试人员1负责小程序的测试工作测试环境及测试工具如表4、表5所示:表 4 测试环境软件环境(相关软件、操作系统等)Android7.1.2微信7.0.10Win10硬件环境(网络、设备等)红米4X计算机服务器表 5 测试工具用途工具生产厂商/自产版本测试功能Airtest网易V1.2.2版本测试兼容性红米4X小米Android7.1.2iphone6s苹果IOS13.3.14.3测试用例设计根据单词天天背微信小程序需求分析,主要分为四个功能模块,分别为切换计划、开始学习、
43、错题本、切换模式这四个,并对这四个功能模块分别进行测试用例设计。主要使用到边界值分析法、场景设计法以及探索式测试法进行测试用例的编写,比较特殊的操作如在选择单词任务页面中使用到边界值分析法设计页面滑动最顶上以及最底下查看界面以及页面中所显示部分的所属栏目;用探索式测试法在切换计划时连续多次点击切换计划进行设计测试用例。图 16 切换计划测试用例图 17 开始学习测试用例图 18 错题本测试用例图 19 切换模式测试用例4.4测试脚本设计本次测试脚本工具选用的是AirtestIDE来编写的,AirtestIDE内置了python和poco环境。结合单词天天背微信小程序执行的测试用例,符合测试用例
44、设计的覆盖率,以下是测试脚本执行过程中较为常用的代码:1、poco(text=“”).click()用于屏幕录制时所点击的操作功能进行定位并生成脚本。2、touch()用于点击屏幕元素,以截图方式进行定位。3、text(“”)用于在输入框中输入文字。4、swipe(v1,vector=x,y))用于滑动操作,通过截图进行定位坐标,从v1开始沿着vector滑动。5、wait()用于等待某个指定的图片元素出现。本次测试主要分为四个模块执行脚本,脚本代码如下图所示:1、“切换计划”模块脚本如图20、21所示:图 20 切换计划测试脚本1图21 切换计划测试脚本22、“开始学习”模块脚本如图22、2
45、3所示:图 22 开始学习测试脚本1图 23 开始学习测试脚本23、“错题本”模块脚本如下图所示:图 24 错题本测试脚本4、“切换模式”脚本如下图所示:图 25 切换计划测试脚本4.5本章小结对于微信小程序来说,使用自动化测试工具去测试能够大大提高测试效率,节约时间,但是在考虑多种不合法或者无效的输入时需要黑盒测试来执行,使用手工检测出更多的问题,比自动化测试更加全面一些。比如下一词或上一词按钮连续点击时的情况是怎样的,音频的播放以及播放图标是否正常这些根据手工检测更能发现问题,而自动化只能相对于简单地检测出程序上的正常操作下的正常运行与否,不能考虑更多发非法或无效操作。第五章测试结果分析5
46、.1测试实施软件测试用例设计完成后,进入测试用例的实施阶段,根据测试用例开始执行测试,对于正常操作的测试用例用Airtest进行操作,对于非正常操作使用手工方式进行检测,对每一个测试用例,依据预期结果来判断用例是否通过,对测试实施结果做记录,对缺陷进行管理以及追踪。Airtest工具测试实施过程如下图所示:图 26 测试实施流程图Airtest测试详细操作步骤如下:1、 首先打开Airtest,使用数据线连接真机,手机打开开发者模式,打开USB调试,cmd打开命令符后输入adb devices确认手机是否连接图 27 连接真机12、 在Airtest中点击connect进行连接图 28 连接真
47、机23、 在Airtest辅助窗和poco辅助窗中进行录制脚本,注意在poco辅助窗中选择安卓,如下图所示:图 29 脚本录制4、 点击执行按钮开始执行脚本,看是否通过5、 查看log6、 点击测试报告查看结果,进行分析与总结(这里使用切换计划模块测试报告截图,如图30所示)图 30 测试结果报告7、 将发现的缺陷记录成缺陷报告图 31 缺陷报告5.2测试结果与分析根据测试用例使用Airtest执行测试脚本以及手工进行测试,总共设计了38条设计用例,采用Airtest工具及手工测试执行了38条测试用例,发现了4条缺陷。四个模块执行脚本花费时长为6min 1s 742ms。并通过Airtest工
48、具脚本执行测试,从而得出每个模块的测试结果,结果如下图所示,并在接下来的小节中对每个模块的耗时进行分析,分析各模块是否满足了需求所要求的覆盖率及时长。图 32 测试结果1、切换计划通过切换计划测试用例的设计和测试脚本的编写,在执行测试脚本后,从Airtest反馈的测试结果和消耗如下图,通过分析,该模块达到了需求要求的覆盖,切换到了需求中所要求的四六级栏目,选择任一书籍,点击选择此书按钮完成切换计划模块的测试。该模块自动化测试过程共耗时1min 33s 167ms,属于正常范围内。切换计划过程中的控件功能都能得到预期的结果,该模块验证成功。图 33 切换计划测试报告2、开始学习通过开始学习该模块
49、测试用例的设计和测试脚本的编写,在执行测试脚本后,从Airtest反馈的测试结果和消耗如下图,通过分析,该模块达到了需求要求的覆盖,点击开始学习进入学习页面,子页面中的控件以及进入练习页面后单词选择的正确与否功能的测试。该模块自动化测试过程共耗时1min 35s 147ms,属于正常范围内。开始学习过程中的控件以及功能都能得到预期的结果,该模块验证成功。图 34 开始学习测试报告3、错题本通过错题本该测试用例的设计和测试脚本的编写,在执行测试脚本后,从Airtest反馈的测试结果和消耗如下图,通过分析,该模块达到了需求要求的覆盖,进入错题本页面后DAY下拉的选择以及今日错词tab、所有错词ta
50、b的切换测试。该模块自动化测试过程共耗时43s 360ms,属于正常范围内。错题本页面的控件以及Tab的切换都能得到预期的结果,该模块验证成功。图 35 错题本测试报告4、切换模式通过切换模式该模块测试用例的设计和测试脚本的编写,在执行测试脚本后,从Airtest反馈的测试结果和消耗如下图,通过分析,该模块达到了需求要求的覆盖,切换模式所弹出的提示窗以及确定、取消来切换模式的测试。该模块自动化测试过程共耗时40s 68ms,属于正常范围内。切换模式的控件以及功能显示都能得到预期的结果,该模块验证成功。图 36 切换计划测试报告5.3测试产生的问题和解决方案问题:1、测试过程中使用Airtest来执行自动化测试时,出现Airtest检测不到手机设备问题。2、一些非正常操作无法使用Airtest测试。解决方案:1、使用微信访问进行强制性使用系统内核。2、使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度区块链技术应用合同范本6篇
- 2024乙方承担甲方固体废弃物处理项目的合同
- 2024年度建设合同:城市道路建设项目2篇
- 2024年度口腔诊所数据库建设与维护合同
- 2024年度版权转让合同范例3篇
- 2024年全面物流服务合作协议模板汇编
- 2024年度体育场馆赞助与租赁合同3篇
- 铁路桥梁工程施工招标合同三篇
- 2024专项检测与认证服务协议一
- 电子支付设备租赁协议三篇
- 七年级语文上册任务二 亲近动物丰富生命体验课件
- 《建筑与市政工程防水规范》解读
- 新教师培训课件
- 初中班级班规制度
- 汉字文化解密学习通超星期末考试答案章节答案2024年
- 设计合同解除协议书范本
- 2024-2030年中国虚拟运营商行业运营态势及前景趋势预测报告
- 外研版(2024新版)七年级上册英语Unit 5单元质量测试卷(含答案)
- 外购外协管理制度
- 国家开放大学(山东)《财税法规专题》形考任务1-3+终结性考核参考答案
- 《元旦新气象梦想再起航》主题班会
评论
0/150
提交评论