软件质量与测试--第六周作业 软件测试与评估
测试进度表
项目 |
n内容说明 |
预估耗时 (分钟) |
实际耗时 (分钟) |
Planning |
|
10 | 15 |
· Estimate |
· 估计这个任务需要多少时间 |
10 | 15 |
Testing Design |
|
80 | 90 |
· Analysis |
· 需求和测试需求分析 |
30 | 35 |
· Design Test Cases |
· 设计测试用例 |
50 | 55 |
Testing Environment |
|
60 | 90 |
Testing Implementation |
|
40 | 30 |
· Test |
· 执行测试 |
40 | 30 |
Reporting |
|
180 | 200 |
· Test Report |
· 测试报告 |
160 | 180 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
20 | 20 |
合 计 |
370 | 425 |
基本任务:功能测试与测试管理
计划说明:
选择产品:
经过小组讨论,(具体详见毕博平台小组讨论区),我们小组最终选定了背单词APP作为测试的目标。
测试产品A:百词斩
测试竞品B:扇贝单词/听力
预估完成时间:
对测试时间的预估请详见博客第一模块:测试进度表
需求说明:
功能模块划分:
以下是我经过试用待测产品和竞品,划分出的功能模块图。由于时间有限,可能划分的不是非常详尽,
不过作为分配小组成员任务的参考,我认为已经足够了。
竞品:扇贝单词
主题测试产品:百词斩
负责功能模块:
经过讨论,我们小组分配了每个人负责的功能模块任务(详见毕博平台小组讨论版)
我分配的任务(测试模块),是两个待测产品的单词背诵模块(包括打卡)。
模块流程图:
为了更好的说明我所分配到的模块的情况,以及方便设计测试用例,我绘制了两款产品关于单词背诵功能的流程图。
如下:
竞品:扇贝单词
主体产品:百词斩
测试说明:
测试用例设计:
(思路,结合边界值,等价类,方法,流程图,场景图)
我针对了两款产品,分别设计了20个测试用例。由于对两款产品的同一功能模块进行测试,所以有部分测试用例是很相似的。
我设计的想法:
首先,依据我上面给出的业务流程图,我做了基于路径的覆盖测试。
希望能够覆盖到单词背诵模块的,我所想到的各种功能分支。
(路径测试的测试用例数量为8)
其次,我进行了边界值测试。
对于单词背诵模块,什么是边界值呢?
我的想法是:那些能够引起不一样的变化的数值。比如每天要背诵100个单词,那么这就是一个边界,少于这个边界,不能完成打卡,
超出这个边界,需要申请“再背一轮单词”,此时又有了新的边界(100+n)
还有,对于扇贝单词,会有总结模式。也就是背了7个单词之后,会将7个单词放进一个页面,让用户一目了然的进行复习。
这也是一个边界值,应该
所以,我进行的边界值测试就是针对这些边界值进行测试,以确保待测产品能够正确实行功能。
(边界值测试的测试用例数量为3)
最后,我进行了场景(黑盒)测试:
也就是,我给出了一些特定的要求和场景,要求完成一定的任务。
(黑盒场景测试的测试用例数量为9)
注:具体的测试用例请助教和老师查看在毕博平台上提交的,使用禅道导出的测试用例文件。
如果必须要在这里也重新描述一遍的话,请在本文下评论,我收到后会进行适当补充。
功能测试执行:
(证明其执行的操作和截图,此处只截取部分)
1.扇贝单词
测试用例1:
初次使用,制定学习计划,进行单词量测试
测试用例2:
更改计划
测试用例3:
边界值测试:进入小结模式
测试用例4:
查看单词的更多例句功能
测试用例5:
测试单词的提示功能:
用户不认识单词时逐条增加提示信息。
2.百词斩
测试用例1:
收藏单词功能测试:
测试用例2:
修改与删除计划:
测试用例3:
单词打卡分享:
(由于篇幅有限,此处没有展示所有20个测试用例的测试图片。)
(不过,经过我们的测试,我们发现了一些设计上的缺陷,这些缺陷会在下文中的使用总结中进行讨论)
测试管理工具:
经过小组讨论,我们小组选定的测试管理工具为:禅道
(虽然不得不说,网上关于禅道的使用的资料真的是不多)
(可能是我不太熟悉这类测试管理工具的架构)
(使用起来觉得很别扭。而且有些功能现在都还没有吃透)
(不过没关系,应该不会影响最基本的导出和使用)
禅道版本号:开源版9.8.3
下载链接:www.zentao.net/download/80072.html
注:请选择windows一键安装包进行下载。
关于测试管理工具的使用:
1.解压安装包:
2.出现xampp文件夹,点击内部的start.exe
3.我觉得这是一个单机/局域网的管理工具(断网后还是能使用)
4.访问禅道
这个坑爹的地方卡了我一节上机!
我最初以为登录的用户名和密码就是上图中最下面的APACHE用户访问验证那里的。
然后怎么登陆都提示错误。
后来上网搜资料,找了半天才在不知道哪个犄角旮旯发现了,用户名和密码是admin,123456
5.使用禅道
就是建立产品,然后建立测试用例,分析缺陷之类。
我分别建立了百词斩,扇贝单词两个产品。
分别设计了20个测试用例,并实际进行测试,标注了缺陷。
总的来说,我认为扇贝单词需要改进的地方还很多。
百词斩会好一些。
具体的请参见使用总结部分。
使用截图:
(测试用例导出,需求导出)
1. 扇贝单词
测试用例界面:
测试用例导出:
注:这里有个问题!导出文件的字符编码应该选择GBK,我使用默认的UTF-8编码,发现本地保存的文件内容全是乱码
导出文件如下:
缺陷导出:
2.百词斩
测试用例界面:
(注:由于功能模块,以及具体功能有很多重合的部分,所以测试用例仅仅针对两款应用不同的部分作了适当的修改。)
(相同的部分,我们使用了类似的测试用例进行测试)
界面如下:
文件如下:
(注:在本次基础测试中,我并没有发现百词斩应用过于明显的缺陷,但事实上,百词斩也是存在令用户不快的体验缺陷的)
(我会在下一大模块:扩展任务中,进行详细讨论)
结论说明:
(相同功能的实现有何不同,差别在哪,哪个更好)
针对我所负责测试的模块,两款产品的不同之处主要在于:
1.背单词的形式不同
扇贝单词更类似于传统的背单词形式,即,单独拿出来单词,询问用户是否认识。不认识的话,会逐条增添提示信息,期望唤起用户的记忆。
界面很干,主要都是知识点。没有过多的形象化描述。
这样的背单词形式更倾向于用户的主观选择。(用户选择:认识/不认识)
但是,有一点很致命的缺陷就是:
我认为,扇贝没有考虑到用户误操作的可能。
即:用户不认识这个单词,但手滑了,点击成了”认识“这个单词。
此时,扇贝并没有给出”悔过“的一种操作。(不能回退,重新选择”不认识“)
这无疑是很不好的一点设计缺陷。
而百词斩更偏向于趣味性的记忆单词。通过例句+描述图片来进行背诵。
分析:
百词斩的背诵单词模式可能成本会更高一点。包括了制作图片的成本。
效果而言,我不是专业的记忆学研究者,不过对于用户,尤其是年轻向的用户,百词斩的趣味性确实要强于扇贝单词。
2.指定背诵单词计划的形式:
对于扇贝单词:扇贝单词会在选择单词计划之前,希望用户进行一次单词量测试,并根据测试结果,智能推荐用户比较适合的单词书。
但是扇贝单词似乎不能选择每日背诵的单词量。而且,调整更换单词书,需要第二日才会生效
而百词斩并没有智能推荐的功能。完全是依靠用户的个人意愿进行选择。
但是百词斩可以调整”期望完成计划的时长“,来调整每日背诵的单词量。
分析:
智能推荐这是扇贝单词的一大亮点。有些时候,用户只是有着模糊的想要提升自己英语水平的期望,但却不知道什么是比较适合自己的。
所以,选择合适的单词书背诵是很重要的一环。
但是,扇贝单词不能调整每日单词背诵量,以及更换计划第二日才会生效,这些是很值得诟病的一点。
一名大学生用户假如不小心选择了初中单词书,还要等到第二天才能更换成大学英语书吗?这是非常不友好的地方。
总而言之,在这一方面,百词斩做的中规中矩,但扇贝单词有亮点,缺点也不少。
3.单词量测试
假如,在一名用户希望进行单词量测试的场景下。
扇贝单词:诶我怎么找不到单词量测试?
百词斩:我找找:阅读单词量测试....听力单词量测试....哦,原来阅读单词量测试就是那个传统的单词量测试啊。
总而言之,就是扇贝单词要完成每日打卡之后,才会出现单词量测试的选项(在主页)
百词斩单词虽然一直可以进行单词量测试,但这个选项位于底端tab栏的第二项中的顶端tab栏的第二项。
总之就是藏得也很隐秘。
这一点都不是十分友好。
单词量测试是一个常用的功能。应该作为经常使用的控件布置。
(这一点我特意设置了场景,在用户参与的可用性测试中进行了测试,用户反馈请见下文)
说了这么多,总而言之,我在测试过程中,发现的百词斩的缺陷不多,但扇贝的我认为的设计缺陷还是很多的。
评价:
百词斩:新奇有趣的背单词方式,不求有功但求无过的设计
扇贝:普通而有效的背单词方式,贴近用户的方便的操作,但缺陷不少。
如果要我选择的话,仅仅讨论背单词模块的话,我会更偏向百词斩。
(但扇贝有个同桌模式,我觉得超级棒,会增加用户黏度)
(不过这里暂且不提,不是我测试的范围。)
工作说明:
(小组贡献分,这个在最后高级任务完成之后讨论。)
(此处暂且不提)
拓展任务:
说了这么多才写到拓展任务,天啊。
真的是累死了。
而且我之前一直以为是周二晚上12点交,昨天才发通知仔细一看是周一晚上12点。周二早上零点。
心态爆炸。
来吧继续,让我肝完这个博客。
我一定要在最后的附加题吐槽10块钱的博客作业!!!!!!!
(注:这一部分好像主要是在毕博上提交可用性测试报告和照片之类的。)
(不过我还是习惯在博客里也进行一下描述,以防万一)
(老师没有给博客的格式,我就按照自己的想法来进行叙述了)
测试用户:
我们小组分析过使用这两款产品的主要人群。
为了使测试更加具有代表性,同时在没有条件进行大规模的人群测试的条件下,我们只能选取主要的适用人群进行测试
因此,经过讨论,我们把目光投向了当代大学生们的身上。
原因有二:
一来,我们的交友范围主要集中在同龄人身上,同时,我们的同龄人也是使用这两款应用的主要人群。具有代表性。
(采访也方便)
二来,在校大学生群体也能代表适中的智商,类似应用的使用经历,使样本具有普遍性。
总之,反正我们最后就选择了大学生同学参与我们的测试。
设计场景与问题:
(注:因为整个小组要使用一套场景和问题,所以我设计的场景也包含了其他组员的一些测试模块的内容)
(不过由于不是非常了解,所以可能有所遗漏,我们组的打算是,我提供我所写的场景和任务作为模板,组员添加一些基于他们所负责测试的模块的更具体的任务)
(作为补充)
(此处给出的场景仅包括我自己完成的,没有添加组员补充的场景。不过在可用性测试报告中集成完毕)
(助教/老师若想查看所有的场景设计,请参见毕博上提交的可用性测试文档)
我所设计的场景和问题如下:(用户版)
用户您好,不好意思能否耽误您一小段时间来参加由软工1501班小组发起的可用性测试,我们的目标测试产品——百词斩,想必你也曾有所耳闻。这是一款背单词的手机应用,不过现在已经拓展了业务范围,集测试单词量,背诵单词,练习听力,练习阅读,好友监督等诸多功能于一体。
作为可用性测试的用户,我们希望您能阅读我们在下面提出的场景,进行一系列的操作,从而完成任务。
我们希望您能谈一谈在完成任务的过程中的体验,以及对这款应用的改进意见。这些意见对我们十分重要。
谢谢您的参与。祝您一切顺利。
具体场景如下:
场景1:
假设您是一名面临英语六级考试的大学生,您在上一次的考试中成绩不是十分理想,您认为原因主要是单词量不够。
您希望提高自己的单词量,所以下载了百词斩应用,希望通过每天坚持背单词的行动提升自己的单词量。
任务1:
制定计划:您打开了百词斩应用,用自己的账号登录。此时,您的第一步任务应该是选择一个合适的单词计划。
选择哪本单词书?多少天完成可以赶得上下一次英语考试?
你认为,任务1的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
任务2:
调整计划:刚刚制定完计划的你,忽然觉得自己制定的计划不是很合适,需要修改一下。
这时候,你应该怎么去修改呢?
你认为,任务2的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
任务3:
背诵单词:制定计划,又去修改,真是麻烦。
这时候,总算可以进入重头戏啦!开始背单词吧!
这个时候,你发现了一个你经常使用但总记不住的单词,你希望能记录下这个单词,方便以后查看
(使用单词本)
你认为,任务3的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
任务4:
你成功的完成了今日的打卡任务!
你觉得充满了成就感,千里之行,始于足下!一定要好好记录下这个有纪念性的日子!
所以,你决定,把打卡分享到微信朋友圈。
请分享打卡到微信朋友圈。
你认为,任务4的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
场景2:
假设您是一名热爱英语学习的大学生,你孜孜不倦的学习着英语。
最近,你了解到了有这样一款应用,或许对你的英语学习有帮助,这款应用的名字叫做百词斩。
但是,在选择单词计划的时候你有些纠结。你决定先测试一下自己的单词量,并根据单词量去选择相应的适合的单词书进行背诵
任务1:
进行单词量测试
请您使用百词斩的单词量测试功能,进行单词量测试。
你认为,任务1的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
任务2:
选择适当的单词书。
请您依据自己的单词量,选择适当的,能对自己有提高的单词书。
(百词斩是否有推荐?还是只能自己选择?)
你认为,任务2的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
场景3:假设您是一名在校大学生,在阅读英文文献的时候,突然发现了不认识的单词。您回忆起百词斩中好像有一个查词的功能,所以您打开了百词斩,使用了查词的功能。
任务1:
查询英文单词:输入不认识的单词(英文),获取汉译
你认为,任务1的难度是:
1(非常困难)2(比较困难)3(有点困难)4(还可以)
5(有点简单)6(比较简单)7(非常简单)
观察员(我)所持有的正确操作流程和答案:
场景1:
任务1:
目标:制定计划
前提:当前未制定计划
操作步骤:自动弹出创建新计划界面—选择分类—选择单词书
成功标准:主页面出现单词计划
任务2:
目标:调整计划
前提:当前已制定计划
操作步骤:点击改计划—点击右上角编辑—删除计划—点击添加新计划—滑动完成天数调整计划
成功标准:主页面单词计划更新
任务3:
目标:收藏单词
前提:正在背诵单词
操作步骤:点击单词页面右上角收藏标志
成功标准:可以在收藏单词表中找到当前单词
任务4:
目标:打卡分享
前提:已背诵完成今日单词
操作步骤:出现打卡页面—点击分享
成功标准:可以在找到这条分享
场景2:
任务1:
目标:单词量测试
前提:无
操作步骤:进入复习界面,选择我的评测—选择测试
成功标准:完成单词测试
任务2:
目标:根据词汇量选择恰当计划
前提:已进行词汇量测试
场景3:
任务1:
目标:查询英文单词汉译
前提:有网络连接
操作步骤:进入应用主页面—点击右上角查词—输入英文—点击查询
成功标准:获取英文单词的汉译
任务:
目标:根据汉译查询英文单词
前提:有网络连接
操作步骤:进入应用主页面—点击右上角查词—输入中文—点击查询
成功标准:获取相应汉译的英文单词
采访用户的方案:
我们组采用了分别负责并提问,最后汇总的方法进行采访。
每个组员负责一批次的用户采访。(3人次)
并在我撰写的可用性测试报告的基础上添加内容,完成反馈的填写和汇总。
(注:由于时间原因,我不确定可用性测试报告是否有时间交由我最后完成汇总。)
(所以,在毕博上提交的可用性测试报告,我只要求至少包含每个人各自负责的测试用户的信息。)
(请老师/助教体谅。)
用户反馈:
(注:难易度判定:1--最困难 7--最简单)
测试用户1:(匿名):
对于各个场景任务的难易度判定:
场景1:3 6 3 7
场景2:3 2
场景3:4 4 5 3 4 7 7
场景4:3 6
场景5:5 5 3 2
场景6:4 3
使用感想:
其实我自己选择计划的单词书的时候觉得还可以,并没有太纠结。
但是如果按照给的场景中的要求进行模拟的话,确实还是觉得百词斩没有根据用户情况推荐单词书的功能,稍微有点不方便。
因为不确定什么种类的单词书对自己提高英语水平会有帮助。托福?四级?六级?....
另外,我找你说的那个单词量测试也找了半天。
名字也有点让我糊涂,阅读单词量和普通的单词量测试好像没有区别。
不过听力单词量测试还是挺有意思的。
测试用户2:(匿名):
对于各个场景任务的难易度判定:
场景1:4 7 4 6
场景2:3 3
场景3:5 5 5 4 4 7 7
场景4:4 4
场景5:4 4 6 3
场景6:4 4
使用感想:
我这儿可能是网络有点问题,进入百词斩的时候有个进度条转啊转的,转了好久才出来界面。
我等的花儿都谢了!
还行吧这个应用,图片记忆挺有趣的。觉得记得能更牢固一点。
别的地方没什么问题,按照你给的场景都完成了任务,也没出什么问题。
就是有一次不小心点错了,界面底部的那个Tab栏,不小心点到第三个“百词斩商城”了,然后就卡了挺长时间,还跳转到淘宝。
我觉得在一个背单词为主的应用里面,在那么重要的位置放一个商城的选项真是太恶心了。
而且跳转的过程中我疯狂点返回,一直都没响应。
这一点就能让我对这个应用的评分下降50%!!!
测试用户3:(匿名):
对于各个场景任务的难易度判定:
场景1:2 6 3 7
场景2:2 1
场景3:3 3 6 3 5 7 7
场景4:2 3
场景5:3 3 4 5
场景6:3 3
使用感想:
好处就是界面不错 不单调 图文并茂 有一定吸引力 也算补偿了背单词这件事情枯燥乏味的部分 然而坏处就是 背了一些单词并不一定真正记住什么意思了 更多的是把单词和图片建立起来联系了 复习的时候看到图片就大致想起来这个单词什么意思了 但是一旦没有图片 这个单词很有可能就想不起来什么意思 所以感觉这个app入口比较高效 但是出口比较低效
总结:
嗯...总而言之,我负责的第一组用户,对百词斩的评价是:还可以。
主要提出的(设计)缺陷:
1. 百词斩每次进入的时候都会有一段缓冲时间,此时无法与界面进行交互,只能看着屏幕中央的环形缓冲条转啊转。
这个时间可能与网速有关,据反映最长时间达到了10s+。这是非常令人难以忍受的一点。
2. 百词斩的单词测试功能难以寻找,而且名字起的很有迷惑性,让人困惑。
建议“阅读词汇量测试”改成“词汇量测试”
3. 百词斩把商城模块进入入口放在了界面的tab栏处,非常容易误点。
而且每次误点,都会有白屏跳转,跳转期间按返回键也不好使,只能等到跳转完成之后,才能回退到百词斩。
这一点扇贝就做得很好。扇贝的商城入口位于tab栏的二级页面中的一个控件。不容易误点。
4. 背单词过程中“斩”这个名字起的挺好的。其实功能就是,删除太简单的单词,但是“斩”这个字就给用户很帅气的感觉。加分!!
大概反馈的总结就这些!
高级任务:专题测试
天啊.....累死了。
加油!最后一部分了!!!!
总而言之,我决定先试一试,学习一下测试工具的使用!
测试专题与测试工具:
这里我有个疑问,我认为老师在作业要求中写的不是很清楚。
测试专题中第一部分是:移动测试
测试专题中有一个部分是UI界面测试。那么问题来了,UI界面测试建议使用APPIUM,移动测试工具中也有appium
那么.....
如果我选择移动测试,算是一个测试专题么?移动测试应该是一种/一类测试,使用工具测试app
而UI界面测试之类的才是具体的测试专题。
这一点是我自己的想法,不知道对不对。
不过作业里体现的不是很明显。
为了保险起见:
测试专题:我选择移动测试,GUI界面测试
测试工具:我选择Appium进行测试。
(注:在这里吐槽一下腾讯的wetest,我冲着腾讯这个大公司的名头去看了一圈)
(结果.......竟然登录都登不上)
如下图:我贴出来狠狠吐槽一下
图标都加载不出来(怕是要倒闭了?)
登录都登不上去
测试设计:
appium测试工具主要是对界面进行测试的。
比如:
滑屏,点击,锁屏,操作控件等等。
设计思想:(参考了一些关于GUI界面测试的博客与文章)
1.GUI测试重点是正确性,易用性和视觉效果,文字检查和拼写检查是GUI测试的重要环节。
2.GUI测试的基本过程:1.执行用户操作,2.获取检测状态,3.对比验证内容
3.基本原理:
测试者在运行应用程序的同时,把他的所有的动作(键盘操作,鼠标操作)捕获或者录制下来,生成一个脚本文件,
这个脚本文件以后可以被”回放“(playback),也就是按照上一次的所有执行动作重复执行一遍,实现自动运行和测试
脚本设计:
我设想的脚本应该完成如下内容:
针对百词斩主页的UI界面:
通过uiautomatorviewer.bat查看各个控件,
1.测试查找单词UI交互
获取控件
弹出及收回键盘
driver.hideKeyboard();
2.按压以及点击控件
TouchAction(driver).press(x=?,y=?).release().perform()
TouchAction action = new TouchAction(driver);
action.tap(names.get(1)).perform().release();
action.tap(?,?).perform().release();
脚本应该运行如下:
1. 点击主页面“查词”按钮控件
通过键盘输入单词
收回键盘
点击“搜索”按钮控件
2.点击主页面“修改计划”按钮
获取控件位置,在指定位置(完成天数控件)上下滑动调整
返回上一界面
点击主页面“背单词”按钮
3.点击主界面tab栏上控件按钮,
尝试左右滑动界面
通过这些api函数,可以完成脚本的编写...
应该。
Appium的使用日记(高级任务的完成感受):
首先:appium这款工具....我第一次查资料的时候真的是被吓死了。
觉得超级复杂有没有!!
据说要安装node.js环境,配置python(虽然之前安装了),安装虚拟机......
对,就是看了这篇文章:
https://help.aliyun.com/document_detail/50705.html?spm=a2c4g.11186623.6.561.CN1Qxi
真是立马怂了。
后来觉得还是试一试。但还是不明白appium的意义在哪里。
如果要测试gui界面的话,为什么不能直接在开发环境中的虚拟机上面跑,遇到bug不一样可以发现吗?
为什么还要辛辛苦苦配置appuim,写脚本,不是很麻烦么?
但这就是单独自动化测试的意义所在吧?我查了一些资料。
http://www.51testing.com/html/44/15020244-1656449.html
使用过程中还有一个疑问。
就是我们是测试一个打包好的apk文件,也没有源码。这样应该怎么测试呢?
查找资料:
uiautomatorviewer.bat 工具来查看控件的属性。该工具位于 Android SDK 的 /tools/bin/ 目录下
总结一下自己的使用历程:
1. 安装(略)
2. adb设备获取
然后进行一系列的配置,点击运行,应该是没毛病:如图
3.开始编写脚本:
感觉自己离胜利已经一步之遥了!!!!
(注,我根据资料,修改了config.py里面的参数,如果老师/助教看到脚本,一定要根据自己的环境进行适当修改,才能运行。)
然后出现个bug:
解决方法:
真的麻烦,这时候我的pip还出问题了
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb6 in position 7: ordinal not in range(128)
我改了下gbk编码
总算是解决了
这回运行脚本应该没问题了吧!试一下!
结果还是有错误:
设置系统变量之后总算好使了。
编写脚本,还需要学一点driver的api内容.....
我选择....使用一下appium的inspector录制脚本。
但可惜的是!window下不能自动录制脚本(不能自动生成)
mac下可以,但我使用的是windows。
我费了这么大功夫...结果发现测试脚本windows下不能自己录制自动生成,还要自己去写....
心态炸了。
(有时间我再继续补充)
总之参考网上的资料,大致设想了一下UI测试的过程。
脚本请参见毕博提交。
注:不知道为什么,费尽千辛万苦,脚本在真机上的测试好像还是有些问题。
错误信息如下:
> info: [debug] Cleaning up android objects
> info: [debug] Cleaning up appium session
> error: Failed to start an Appium session, err was: Error: packageAndLaunchActivityFromManifest failed. Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "D:\javaSDK\build-tools\27.0.3\aapt.exe dump badging D:\test\baicizhan_6021303.apk"
> W/zipro (14908): Error opening archive D:\test\baicizhan_6021303.apk: Invalid file
> ERROR: dump failed because no AndroidManifest.xml found
编写的脚本应该是没有问题的,我怀疑可能是环境配置哪里有点问题,或者是哪里有坑,我掉坑里了。
错误提示是百词斩的AndroidManifest.xml not found。
不应该啊,这个配置文件肯定在apk里有的啊。但为什么appium找不到!
2018.4.25补充。
我重新安装了一下nodejs环境,配置了一下JAVAHOME,
检测表示一切都没有问题了。
我打算再尝试一下。如果还是有问题,那就没办法了。
这次成功连接了真机,但又出现了错误:
上网查资料发现是安卓7.1版本以上会出这个bug,我真的是........
学习这个的成本也太高了些吧?
老师推荐这个真的是.....
现在应该算是解决了。
我参考了如下博客的第二种方法。
https://blog.csdn.net/pjl6523853/article/details/72886048
不过编写脚本还是有点难,需要学driver的api。
我打算理论研究了。
可能没法给出录制的视频。
因为windows下没法自动生成,脚本的话....我只能大略给出设计思路,具体实现可能够呛。
还请见谅。
针对三次大作业的感想:
本来觉得好多话想说,但写到这里真的超级累好吧。
我就不唠叨,捡干的说一说好了。
1.老师后两次作业说是给了两周的时间。
但问题是!!!老师您总是在第一周的周二告诉我们,有新的任务啦!
周四告诉我们,今晚我会发一个任务的草稿!大家讨论一下,有没有什么意见。
然后周末发布了最终稿。
这明明已经过了一周了啊!老师没有最终定稿的时候,我们学生也不会开始准备啊。
说是给两周时间,但事实上我们做的时间只有一周零两天..........
这.....我无话可说
老师以后给下一届上课的时候,我认为比较合适的就是在上一次任务布置下去之后,就开始准备下一次任务,争取无缝衔接。
利用完成上一次任务的时间段,我们的时间也比较充裕。
2. 三次大作业.....也行吧。
反正都过来了.....
这三次大作业充分让我认识到了自己写博客的能力。感觉自己真是太能扯了.....噗
不过耗费的时间稍微有点长其实还是。
3. 第一次作业我辛辛苦苦搞了好长时间,结果单元测试10分满分只给了2分....
可我觉得没问题啊.....
委屈.....
一共55分,附加题分数好高....不过是我懒了不应该怪别人...
4.提升是有的。
事情好多就觉得完成任务的时候头是真的疼。
大概以后生活也是这样吧。
算了算了。
就写到这儿吧。
总之大家辛苦了,助教辛苦了,老师也辛苦了。
(为什么还要有考试啊.....心累)
5.
小组贡献度:
我的小组贡献度是0.28
参考资料:
关于appium的使用:
http://www.testclass.net/appium/appium-base-find-element/
(appium的一些使用)
https://www.cnblogs.com/ccvamy/p/4474546.html
(关于gui界面测试的思想与内容参考)
https://cloud.baidu.com/doc/MAT/OperationGuid.html#.AD.61.62.00.75.37.E1.D5.50.36.91.48.CA.FF.CD.2E
(百度移动云测试中心MTC,文档)
appium api参考:
https://blog.csdn.net/hqzxsc2006/article/details/50112109