测试测试基础课

测试开发知识点(三)

2019-06-12  本文已影响35人  测试老杨

传送门

测试开发知识点(一)
测试开发知识点(二)
测试开发知识点(三)
测试开发知识点(四)
测试开发知识点(五)

自动化测试

单元测试框架

109、 JUnit框架

注解:@Test
参数化测试使用的注解:@Parameters等
验证

110、 hamcrest框架

匹配器(Matcher)


自动化测试框架

111、 TestNG框架

注解:@Test, @BeforeTest, @AfterTest等
参数化测试使用的注解:@Parameters, @DataProvider
验证


Web性能自动化

112、 LoadRunner工具

使用loadrunner测试平均响应时间
LoadRunner的组成:虚拟用户+控制器+分析工具
什么是事务
设置关联
设置检查点(文本检查和图片检查)
设置事务开始和事务结束
设置集合点
吞吐量-Total Throughout (bytes)
Average Throughout (bytes/second)
点击量-Total Hits
Average Hits per Second
平均响应时间-Average Response Time
【参考】LoadRunner使用教程
https://wenku.baidu.com/view/75136422af45b307e871977b.html
【参考】LoadRunner12使用教程
https://blog.csdn.net/a1317480843/article/details/80103234
【参考】LoadRunner关联详解
https://blog.csdn.net/u011446864/article/details/38395975
【参考】LoadRunner12.02参数化与关联以及中文乱码的解决
https://blog.csdn.net/qq_26718241/article/details/80535333
【参考】LoadRunner参数化详解
https://www.cnblogs.com/fnng/archive/2012/06/22/2558900.html
【参考】LoadRunner中事务和集合点的放置顺序问题
http://blog.sina.com.cn/s/blog_49e4019f0102vxv5.html
【参考】LoadRunner中的时间处理- 响应时间、事务时间、消耗时间等
https://blog.csdn.net/ivyweimiao/article/details/81535120
【参考】事务时间如何去掉wasted time
http://www.cnblogs.com/qmfsun/p/4523150.html
【参考】如何利用loadrunner12录制app脚本
https://www.cnblogs.com/software-tester/p/8491679.html
【参考】loadrunner进阶——IP欺骗(IP Spoofer)
https://blog.csdn.net/huilan_same/article/details/51647435
【参考】一般台式机用loadrunner最多可以跑多少个虚拟用户
https://www.imooc.com/wenda/detail/395879
【参考】Page Download Time Breakdown选项详解
https://blog.csdn.net/lhl_lhl_lhl/article/details/42611969
【参考】页面下载时间分解
https://www.cnblogs.com/littlecat15/p/9456376.html

113、 服务器性能监控工具(了解)

【参考】nmon的安装及使用
https://www.cnblogs.com/mululu/p/6398483.html
【参考】一篇文章学会使用 nmon
https://www.sohu.com/a/219012698_151779


Web功能自动化

114、 链接测试

【参考】Xenu's Link Sleuth 的使用
https://blog.csdn.net/kellyruan/article/details/50894169

115、常用浏览器调试工具

https://jingyan.baidu.com/article/fd8044fa3495e95031137a9f.html

115、 Selenium框架

1)查找页面元素的方式
2)网页元素(按钮,文本输入框,下拉列表框,复选框,单选按钮,对话框等)的操作
3)鼠标悬停事件模拟、窗口之间的切换、附件上传
4)滚动条的拖拽
5)xpath的语法格式
http://www.w3school.com.cn/xpath/xpath_syntax.asp
6)css selector语法格式
https://blog.csdn.net/ywyxb/article/details/58607218

116、 Web功能自动化使用的工具

Selenium(驱动浏览器)+TestNG(参数化和验证)
【参考】Web自动化Selenium+TestNG实践(一)
https://www.jianshu.com/p/a9c96a132479
【参考】Web自动化Selenium+TestNG实践(二)
https://www.jianshu.com/p/5477508b82aa
【参考】Sikuli 集成Selenium Webdriver 上传文件
https://blog.csdn.net/lb245557472/article/details/83928753
【参考】WebDriver模拟上传附件时,使用Sikuli 来操作Flash 控件
https://blog.csdn.net/dreamtl/article/details/51839894


App功能自动化

117、 Appium框架

查找页面元素的方式
页面控件的操作(点击,输入等)
模拟划动(下划,上划,左划,右划)
模拟长按
【参考】Appium 总结
https://www.cnblogs.com/lgh344902118/p/6438210.html
【参考】Appium中文教程
https://www.cnblogs.com/fnng/p/4540731.html
【参考】iOS自动化环境搭建
https://testerhome.com/topics/69

118、 App功能自动化使用的工具

Appium框架(驱动app)+TestNG(参数化和验证)
uiautomatorviewer工具(适用安卓app)(定位元素)
monkeyrunner工具(适用安卓app)


App稳定性自动化

119、 安卓app稳定性自动化使用的工具

monkey工具:
测试安卓app的稳定性(是否出现异常和无响应)
Exception: 异常
ANR: 无响应

monkey命令(工具)seed选项的作用:
通俗一点说monkey测试都是一些随机操作,如果一次操作中出现了bug,如果要复现bug是比较难的,就在每次操作的时候加上一个seed值,现在操作只要seed值是一样的,就能帮助我们复现操作。
monkey命令(工具)throttle选项的作用:
有时候monkey的事件执行的很快,肉眼根本看不清点击事件,加上throttle参数就可以控制每个事件之间的间隔时间,使执行动作慢下来,方便我们查看。

使用monkey工具对安卓app进行测试

monkey工具参考资料:
https://blog.csdn.net/sunny_7777/article/details/80704025
monkey使用教程:
https://www.jianshu.com/p/c2aca7019ddf
https://www.jianshu.com/p/b462d6defb36


App兼容性自动化(了解)

120、了解第三方测试平台(testin云测)


App安全性自动化(了解)

121、了解第三方测试平台(testin云测,阿里云测,AppScan等等)


接口功能自动化

122、 HTTP接口功能自动化

httpclient + fastjson + TestNG

123、 WebService接口功能自动化

参考资料:
https://www.jianshu.com/p/f88cb5f2a108


接口性能自动化

124、 Jmeter工具

支持多线程,测试平均响应时间,适用对HTTP接口(RESTful)做性能测试
入门教程:
https://www.yiibai.com/jmeter
参考资料:
https://www.jianshu.com/p/1ad65f4eb875

125、 SoapUI工具

适用对WebService接口做性能测试

面试被问到的问题

125、并发测试,你们一般是测多少个?

模拟两个用户并发的场景比较麻烦,需要借助测试工具的,比如loadrunner,jmeter.
可以跟他说说大概的思路
1)如果是针对功能的话,并发数量可以很少(比如就2个)。比如,两个用户同时修改同一条数据,会出什么情况,这就是一个功能测试点。
2)如果是针对性能的话,并发数量就会很多(比如50个)。比如,50个用户同时订票,平均响应时间多少,这个就是性能测试点。
3)使用loadrunner模拟并发的话,先录制脚本,设置事务,文本检查,集合点,创建场景(设置虚拟用户数量和持续时间),最后运行场景和分析报告
4)使用jmeter模拟并发的话,先抓包分析请求,然后构造请求,设置线程数量和循环次数,添加监听(查看结果树和聚合报告),最后运行测试和分析结果
注意:一台电脑能够模拟的虚拟用户数量毕竟是有限的(最好不要超过100个)。

125、请说出软件测试流程及对应的开发阶段,及各阶段提交件。

image.png

1)单元测试对应详细设计阶段,产出:单元测试计划,单元测试用例,缺陷报告,单元测试报告
2)集成测试对应概要设计阶段,产出:接口测试计划,接口测试用例,缺陷报告,集成测试报告
3)系统测试对应需求分析阶段,产出:系统测试计划,系统测试用例,系统测试用例评审记录,缺陷报告,系统测试报告
4)验收测试对应用户需求阶段,产出:验收测试计划,验收测试用例,缺陷报告,验收报告

系统测试计划主要包括:
1)功能测试的范围,即测试哪些功能点(发布上线的功能点)
2)兼容性测试的范围,即兼容哪些主流的浏览器,移动设备,以及分辨率
3)性能测试的范围,比如:检查请求的响应速度(页面的加载速度),检查测试服务器资源占用情况(cpu使用率,内存使用率,磁盘读写效率),检查安卓测试机和iOS测试机的资源占用情况(cpu使用率,内存使用率,耗电,流量,散热情况)
4)安全性测试的范围,比如:检查普通会员是否拥有vip资源的访问权限,检查非登录状态无法对资源进行评论,发送弹幕等
5)稳定性测试的范围,比如:使用monkey测试安卓app的稳定性
6)第一轮系统测试的起止时间
7)第二轮系统测试(回归测试)的起止时间

注意:实际工作中主要是做功能方面的测试。如果版本更新有涉及性能方面的需求,才需要定义性能测试的范围。比如:本次版本更新对搜索的性能做了优化,则需要测试搜索的性能。另外,如果版本更新有涉及安全方面的需求,则需要定义安全性测试的范围。

125、你是否参与过需求分析?你提了什么问题?

需求分析阶段,开发人员和测试人员都要对需求进行理解,测试人员主要是通过阅读需求文档(可以通过svn客户端从公司的svn服务器下载)对需求进行理解,测试人员可以针对需求文档中存在的问题向需求经理(负责调研客户需求,编写需求文档)提问。
需求文档一般会存在哪几类问题呢,比如:
1)需求经理对功能点的描述不够准确,存在歧义,用词模棱两可
2)需求经理对功能点的描述不够具体,不完整,导致测试人员无法根据需求描述来判断软件的运行结果是否正确

【思考】请针对考勤管理系统的需求文档,提出1~2个问题。

【参考】浅谈需求:软件需求的分类到底有哪些?
http://www.woshipm.com/pmd/886458.html

传送门

测试开发知识点(一)
测试开发知识点(二)
测试开发知识点(三)
测试开发知识点(四)
测试开发知识点(五)


微信扫一扫关注该公众号【测试开发者部落】

image.png
点击链接加入群聊【软件测试学习交流群】
https://jq.qq.com/?_wv=1027&k=5eVEhfN
软件测试学习交流QQ群号:511619105
上一篇 下一篇

猜你喜欢

热点阅读