测试
请根据团队项目中软件的需求文档、功能说明、系统设计和测试计划,写出软件的测试过程和测试结果,并回答下述问题。
-
在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个?
-
a.修复的bug;
- bug1:
修复前:授权界面通过点击授权按钮跳出是否允许授权框,此时背景应该为设置的背景 图片,但是如果点击“允许”太慢,后面背景就已经进入到记账的主界面了。
修复后:修复前点击“允许”后,是通过点击用户头像来进入到记账主界面的,由于反应时间 较快,这个过程并没有显示出来,导致背景直接进入到主界面。修复后是将原来通过点击用户 头像进入主界面换成点击文字“欢迎使用EASY记”进入主界面。 - bug2:
修复前:查询界面的提示文字“选择所要查询的日期:”后面跟着当天的日期。
修复后:提示文字后面应该是空白的,不应该一开始就显示日期。
- bug1:
-
b.不能重现的bug
添加记账小程序后,第一次使用底部导航条进行页面切换时,当从“主页”切换到“记账”或 者“查询”页面时,底部导航条上面,紧挨导航条部分,会有绿色长条闪现。之后进行切换则 正常切换,不会出现绿色长条。
-
c.这个产品就是这样设计的,不是bug;
记账界面点击确认保存后,直接跳到主界面。在进行很多条账单记录时,有可能会忘记已经记 录过,而重复记录,所以需要直接跳转到主界面进行查看。
-
d.没有能力修复,将来也不打算修复;
标题栏名字“EASY记”在开发工具上是居中显示的,但是在真机上测试时是显示在左侧的。
-
e.这个bug的确应该修复,但是没有时间在这个版本修复,延迟到下一个版本修复。
- bug1:账单信息应该存储在数据库中,而不是在本地缓存里,由于alpha阶段尚未解决如何连 接到服务器使用数据库,所以这个bug将延迟到bata阶段修复。
- bug2:来自用户的反馈,在查询界面只列出了账单的信息,没有进行合计。由于考虑不充分, 这个问题我们将在bata阶段解决它。
- bug3:主页应该只有账单详情区域可以滚动,整个主页不需要设置滚动。记账界面是固定的几 项内容布局可以直观看完整,不需要通过滚动来完整查看。
-
-
场景测试(scenario testing),包括以下内容:
-
你预期不同的用户会怎样使用你的软件?
我预期的用户为所有需要和想要记账的人。假设有一个人,他今天发工资啦,就上街给自己买了点东西,这时候他就想把自己今天花了多少钱,这个月工资收入了多少钱给记录下来,免得到时候忘记了,都不知道钱花到哪里去了。这时候他就可以打开微信,点击小程序应用,搜索EASY记,点击搜索出的结果,进入EASY记,微信授权后,进入账单显示页面。这时候就可以进行记录他想要记录的账单了。点击记账图标,进入记账页面,在支出页面中,将他今天买了什么东西,花了多少钱,记录下来,在收入页面中,将他今天发的工资金额记录下来。然后就可以在账单显示页面中看到所记录的账单和月支出、月收入的金额了。也可以在查询页面中查询他想要知道的账单信息。或者点击账单记录页面中的某条信息进行账单的修改或者删除。
-
他们有什么需求和目标?
- 他们的需求:现在大多数人的个人财务管理意识都很薄弱,普遍呈现着一种现象——“啊,明明没买什么,怎么钱都用光了”,所以他们需要通过记账的方式来合理的管理他们自己的财务,曾经使用传统的记账本记账,随身携带着及时将每天的收支记录下来,但是现在网络发展迅速,生活节奏加快,每年的支付收入账单络绎不绝,传统记账已经满足不了人们的需求,所以他们需要一款可以随时、随地、随身进行记账的、简约的、以最清新的界面给用户最舒适体验的记账小程序。
- 他们的目标:使用记账小程序的用户的目标一般都是希望可以将自己的每一天的账目记录下来,到月末的时候可以对本月的收入、支出情况一清二楚,不会出现记不清自己到底在什么地方花了钱,花了多少钱,自己每个月的收入是多少这样的情况。可以通过使用记账小程序使得自己的财务管理能够清晰明了,不会出现糊涂账的情况。
-
你的软件提供的功能怎么组合起来满足他们的需要?
- 记账功能使得用户可以将自己的每天的收入和支出情况记录下来,这样就不会出现有花钱,却又不知道花在哪里了,有收入,却又不知道这钱是从哪里来的情况了。
- 查询功能可以帮助用户查看用户自己在哪天的花销和收入情况,也可以让用户知道自己哪个月,哪年花了什么,收入了什么。这样就不会出现自己想要知道自己把钱花在哪都找不到,自己前段时间的收入来源也无处可寻的情况。
- 账单显示界面可以让用户一眼就可以看到自己的收入、支出情况,还可以看到自己的当月到目前为止支出了多少钱,收入了多少钱,从而推断出是否自己后面几天要省着花呢。
- 账单的编辑页面可以对用户记录的账单进行修改和删除,就可以将用户记录错误的账目进行修改或者删除,以便保证账单的正确性,这样才能够更好地实现用户的需求和目标。
-
-
你们在什么样的平台、硬件配置、浏览器类型等条件上对你们的软件进行测试?——测试矩阵(test matrix)
测试项 监测点 预产期结果 小米4 vivo X9 vixo X5 vivo Y66 oppo R11s 微信授权界面 “微信授权”按钮 获取用户微信头像和微信昵称 √ √ √ √ √ 账单显示页面 “主页”图标 如果有记录的账目,就在该页面显示出对应的信息,并计算出到有记录的最后一个当月日期的月支出、月收入 √ √ √ √ √ 记账页面 “记账”图标和“保存”按钮 在该页面记录的收入支出信息可以保存成功,并显示到账单显示界面中,且保存成功会跳转到账单显示页面 √ √ √ √ √ 查询页面 “查询”图标和日期选择器 在该页面中可以通过选择不同的日期,月份,年份来查询自己所要的账单信息 √ √ √ √ √ 删除页面 “删除”按钮 从主页中的某条账单信息点击后进行编辑页面,点击删除按钮可以将这条信息删除,删除成功后跳转回主页,主页中就没有这条信息了 √ √ √ √ √ 修改页面 “保存”按钮 从主页中的某条账单信息点击后进行编辑页面,对这条账单信息进行修改之后点击保存按钮,保存成功后会跳转回主页中,就会看到修改后的账单 √ √ √ √ √ -
非功能测试
- 性能指标(响应时间和吞吐量,需要给出截图和测试实例以及结果)
- 系统资源监控(CPU、内存占用情况,需要给出截图和测试实例以及结果)
- 压力测试(不同并发用户数,需要给出截图和测试实例以及结果)
- 疲劳度测试(测试服务器持续运行的能力,需要给出截图和测试实例以及结果)
- 安全测试(从三个角度来看,即保密性、可用性、完整性。需要给出截图和测试实例以及结果)
- 参考
- http://www.cnblogs.com/freeton/archive/2013/05/31/3109815.html
- https://www.cnblogs.com/cnmenglang/p/6272762.html
- 吞吐量:http://www.cnblogs.com/fnng/archive/2012/06/29/2570558.html
- 并发用户:http://www.cnblogs.com/fnng/archive/2012/06/29/2570558.html
- 响应时间:http://www.cnblogs.com/fnng/archive/2012/07/01/2571990.html
PS:因为我们的微信小程序没有用到服务器,所以像是性能测试,压力测试,疲劳度测试这些关于服务器的测试都不能够进行测试。
序号 所完成的测试 系统所期望的性能指标 实际测试结果 差别分析 性能问题及其改进建议 001 系统资源监控 平均cpu占用低于15%,平均内存占用不超过180M 平均内存占用128.44M,cpu平均占比14.02% 测试使用了云真机三星S8+和vivoX20A,以及微信开发工具自带测试报告PRO6s机型。从测试数据可以看出不同手机cpu使用率和内存情况是不一样的。三星S8+的cpu使用率接近于20%,内存使用情况175M,而vivo的CPU使用率接近于15%,内存使用情况165M。因为云真机测试是对apk测试,我们用它来对小程序进行测试,从数据上看,当使用小程序和未使用小程序时微信的性能情况都是差不多的,也就是说小程序并没有占用 一般都是cpu不够用导致卡顿问题,耗时的js操作异步化,不要阻塞主线程。少用scroll-view,这个组件对性能影响实在太大,单纯的只是需要一块可滚动区域,用wxss+view。 002 安全测试—保密性 将用户的数据信息保密,不被泄露 有保证用户的个人信息不被泄露 每个用户自己的信息存储在用户本地中,且每个用户之间是不能够获取其他用户的信息的。 微信小程序自身这个平台的安全性就比较高,它自身的一些语句就有规定好安全的用法,像是request网络请求仅支持采用https。并且微信小程序是只能够获得用户的微信昵称,其他资料是不能够获取的,并且不允许跳转到外部网站,不允许放链接,不允许相互之间跳转。这在很大程度上保证了小程序的安全性。而且我们自己还可以部署网络防火墙。 003 安全测试—可用性 保证微信小程序的所有能够是可用的 我们的微信小程序所拥有的功能都可以使用 实际测试和预期的结果没有多大的差别,可以正常使用。 微信小程序是应用在微信上的,而微信的安全性能本身就比较好,我们将我们的微信小程序放在微信上的,且微信小程序的规范也很大程度保护了小程序。我们按微信小程序的规范进行小程序的发开可以保证微信小程序的安全。 004 安全测试—完整性 保护数据的完整性和数据相关属性的完整性 我们的微信小程序实现了完整性 微信小程序平台本身关于这方面就做得很好,像是网络传输时使用的都是https协议的,这样保证了小程序的安全,避免了小程序被通过不明链接攻击,且微信小程序平台和微信之间交互信息时都有使用密钥进行加密,且密钥不会发放。 微信小程序平台本身就已经针对各个问题设置了相关的操作,在最大程度上保证在微信小程序平台上开发出的小程序可以抵御一定程度的攻击。并且我们自己也可以为我们的小程序加上网络防火墙。 系统资源监控:
-
vivoX20A机型
-
三星S8+机型
安全测试:
-
附加题:下列的附加题基于4个标准要求中,进一步细化了要求
测试项 基本要求 细化要求 分值 性能指标 响应时间和吞吐量 除了总的响应时间的测试,还需要有性能瓶颈的分析,需要指出软件哪个模块对响应时间有严重影响,可以从计算响应时间和I/O响应时间两个部分考虑,模块的粒度越小越集中越好,需要给出截图和测试实例以及分析 5 系统资源监控 CPU、内存占用情况 与响应时间类似,需要给出哪个模块占用CPU时间和内存最多,模块的粒度越小越集中越好,需要给出截图和测试实例以及分析 5 压力测试 不同并发用户数 需要给出相应的测试脚本 5 疲劳度测试 测试服务器持续运行的能力 计算从服务开启的最长的运行时间,需要给出相应截图,可以从系统日志中查看 3 安全测试 从三个角度来看,即保密性、可用性、完整性 保密性需要从数据保密性和用户使用过程的保密性来看。保证软件有一定的防御能力,可以针对保密性攻击有抵抗能力。可用性指针对恶意攻击有一定的抵抗能力保证服务可用和鲁棒。完整性要求用户数据不被篡改,操作间互不干扰,数据的一致性能够得到一定程度上的保证。 5 系统资源监控:
从上图可以看出记账界面的CPU占用和内存使用情况都是最多,CPU占用最高可达42.5%,内存占用最高可达147M。因为记账界面所需要进行的数据操作比较多,加载时间比较长,记账需要输入的选项较多,并且需要将其读取并写入到缓存中,这相对于其他界面只需要读取所花的时间比较多。安全测试:
微信小程序在传输或者进行网络请求时,使用的都是https协议的链接,使用了https协议的网页或网址之类在传输过程中是进行了加密,整个页面都是进行了加密的,这样可以避免微信小程序的相关数据被泄露或者是被篡改。并且微信小程序是只能够获得用户的微信昵称和头像,其他资料是不能够获取的,并且不允许跳转到外部网站,不允许放链接,微信小程序之间是不允许相互跳转的。这在很大程度上保证了小程序的安全性,避免跳转到不明页面,导致小程序被攻击。 -
你认为你们团队的软件在什么条件下,就可以认定其已经足够好,可以发布Alpha版本?——出口条件(exit criteria)
我认为我们团队的软件可以实现我们的记账小程序——EASY记,可以在使用我们的记账小程序的各个功能之前先实现微信授权功能,获取用户自己的微信头像和微信昵称;可以没有错误的实现记账功能,可以很顺利地将我们的某日的支出或收入的账单记录下来;可以在有记账记录的情况下在账单显示页面即主页中将账单信息显示出来,并计算出当月的月支出和月收入;可以在有记账记录的情况下在查询界面中查询到自己想要查询到的相关账单信息,无论是日账单,月账单还是年账单都是可以的;可以对记录的某一条账单信息进行修改或者是删除,并将修改或者删除后的结果重返回到账单显示界面即主页中去。在实现以上条件的情况下,我们就可以认为自己的小程序已经足够好,可以发布Alpha版本了。
参考
- 测试的计划及执行:
- 测试报告实例:
- 微信小程序/APP
- Jmerter性能测试:http://www.cnblogs.com/TankXiao/p/4045439.html
- DBMonster是一个生成随机数据、用来测试SQL数据库的压力测试工具,详见 http://dbmonster.kernelpanic.pl/。
- 更多的性能测试工具,可访问 http://www.opensourcetesting.org/performance.php
发布
-
软件发布的同时,在团队博客上写一个发布说明
- 列出这一版本的功能(在原有项目基础上开发的列出新功能)
本版本拥有微信授权登录记账小程序的功能,微信授权后通过点击为微信头像下方的”欢迎使用EASY记!_” 文字进入记账小程序的账单显示界面。我们可以通过点击账单显示界面已有的账单来进行账单的修改和删除,进入修改和删除界面后,我们可以根据我们的需要进行相应的操作。我们可以通过点击记账图标进入记账页面,进行记录我们的日常收入和支出。我们可以点击查询的图标进入查询页面进行账单的查询,可以查询某日,某月,某年的账单。-
以原有项目为基础开发的,列出这一版本修复的缺陷
我们的项目是全新的项目,目前还没有修复的缺陷。
-
对运行环境的要求
运行环境的要求:需要在手机上安装有微信,并且要能够使用微信小程序即用户先需要将微信更新至iOS6.5.3版本或Android6.5.3版本及以上版本。
-
安装方法
安装方法一:用户现在手机上下载微信,安装好微信之后,通过微信上的应用——小程序进行搜索,搜索我们的记账小程序——EASY记,点击搜索出来的小程序进入EASY记。然后会出现微信授权页面,微信授权后通过点击为微信头像下方的“欢迎使用EASY记!_” 文字进入EASY记的账单显示页面。
微信授权后
安装方式二:二维码
-
描述系统已知的问题和限制
- 系统已知的问题在于因为我们没有连接上数据库,使得我们的记账小程序使用的是本地缓存来记录用户输入的账单记录。但是这就导致了一个问题,就是如果用户仅仅是退出小程序的话,原来输入的记录都会在,但是如果用户是将EASY记小程序删除之后,再次搜索EASY记点击进入并使用时,就会发现原来的数据没有掉了。
- 系统已知的限制在于微信小程序必须是在微信中才能够找到和使用的,其他平台就不可以了。并且在使用过程中,不能够将小程序删除掉,否则原来记录的账单信息就没有了。
-
说明软件的发布方式以及发布地址
- 软件的发布方式:我们的记账小程序——EASY记是通过微信公众平台|小程序中的开发管理将我们的发布版本提交审核,在通过审核后,将审核通过的版本发布出来。
- 软件的发布地址:我们的记账小程序——EASY记是发布在微信的小程序中,可以在微信小程序应用中搜索到。
-
对于功能的描述除了文字以外,可以通过图片、视频等进行辅助说明。
参考
版本发布说明的实例: http://www.cnblogs.com/buaase/p/4954977.html