(二)各种技术应用的环境需求。对于各类工具,需要关注编译和运行时对各种包和库及其版本的依赖关系以及对预先安装的应用的依赖关系。这些在用户手册中都有详尽的说明。
(三)服务器性能监视器。大部分测试工具没有提供服务器端的性能监控功能,测试工程师需要根据实际的需求编写性能监控脚本来配合工具的使用。
下面结合曾经参与进行过的Linux平台下的自动化测试的研究,面向不同类别的测试用例自动化的需求,将主要从功能测试,如GUI测试、命令行客户端的测试,以及性能测试等几个方面对Linux平台下的测试工作的自动化进行分析和说明。
GZW自动化洲试
对于GUI测试的自动化,通常的测试工具所使用的捕捉/回放技术有两种,一种是通过记录界面的鼠标事件(如点击、移动)和键盘事件来完成录制和回放,另外一种则是录制和回放都是基于控件的识别和 *** 作进行的,每个脚本的执行都是控件对象的属性改变或事件触发。我们从开源社区可以获得如上两种类型的运行于Linux平台之上的典型测试工具,如Knee和LDTP等。
(一)Xnee工具
在Linux *** 作系统的xll环境下,Xnee能够录制、回放和分发用户的动作。Xnee的捕捉/回放技术是记录鼠标事件和键盘事件。进入录制模式时,Xnee记录发送至和来自X server之间的协议数据拷贝,并生成Xneesession文件。在回放模式下,Xnee读取Xnee Session中的事件,模仿整个录制过程(即用户 *** 作过程)完成和x server之间的通讯,被录制的应用软件(Xclient)则接收来自xserver的消息,完成预设的动作。
(二)LDTP测试工具/框架
Linux Desktop Testing Project(LDTP)测试工具/框架能够基于用户在应用界面的选择进行脚本的录制。LDTPI具使用了Gnome环境下的Accessibility库即辅助选项库(at-spi)。使用辅助选项能够获得应用通过AT-SPI协议提供的关于用户界面的信息和界面控件的当前状态或者属性。LDTPI具/框架的体系结构如下:
AT-SPI的基础思想就是为用户界面的可视化元素提供对应的辅助对象,而录制完成的每个脚本的执行都是基于这些辅助对象进行的。对于希望利用LDTPI具进行测试的应用,需要激活辅助选项。
(三)GUI自动化测试工具的应用
在实际的GUI自动化测试中,LDTPI具应用的场景会更广泛一些。LDTPI具可以识别窗口中的对象(如按钮),测试脚本使用LDTP的API接口,每个API接口对UI对象进行 *** 作存在两个最基本的入口,即窗口和对象,窗口通过窗口的类型和名称(即标题)识别,对象通过希望 *** 作的控件的类型和名称(标签或者关联的标签)识别。我们同样可以通过at-pokel具展现激活了辅助选项的应用程序窗口的对象及对象属性。在测试Linux桌面产品和服务器产品的过程中,使用LDTPI具可以测试任何启用辅助选项的Gnome应用,如Mozilla,OpenOffice.org、Evolution邮件客户端,Nautilus文件浏览器等等,此外还可以测试UI界面基于Swing的Java应用,以及KDE4.O上基于QT4.0的应用等等。
而Xneel具所针对的应用程序类型就没有特别的限制,对于一些简单的窗口验证测试和界面的稳定性测试等则比较有效。Xnee相对于基于控件方式捕获和回放的工具而言,不用担心存在控件不能被识别的问题。
从使用的情况来看,各个工具也都因为实现技术而存在一定的缺陷,如两个工具均不能插入验证点,从而不能实现用例级别的结果验证;LDTP对于界面的个别元素捕获不到以及不能对不支持辅助选项的应用进行测试等等;而Xneel具生成的脚本可编辑性差,同时由于录制生成的脚本中的事件和屏幕坐标相关,因此当出现窗口d出位置发生变化等问题时,就需要考虑回放时应该如何来处理这些变化。
一、选择题(每题4分,共60分)1.用自动补全功能时,输入命令名或文件名的前1个或几个字母后按什么键?()
A.Ctrl键 B.Tab键 C.Alt键 D.Esc键
2.在vi中退出并保存的命令是?()
A. :q B. :w C. :wq D. :q!
3.把文件shell.sh名称修改为shell2.sh,下列哪个命令可以实现?()
A. cp shell.sh shell2.sh B. mv shell.sh shell2.sh C. ls shell >shell2.sh D. cat shell.sh >shell2.sh
4.下面哪个Linux命令按百分比显示内容? ()
A. pause B. cat C. more D. grep
5.pwd命令功能是什么? ()
A. 设置用户的口令 B. 显示用户的口令 C. 显示当前目录的绝对路径D. 查看当前目录的文件
6.删除文件命令为:()。
A mkdir B rmdir C mv D rm
7.文件权限读、写、执行的三种标志符号依次是()。
A rwx B xrw C rdx D srw
8.某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为()。
A 467 B 674 C 476 D 764
9.改变文件所有者的命令为 ()
A chmod B touch C chown D cat
11.测试与目标主机的网络是否畅通?()
A. ping B. route C. netstat D. ifconfig
A. tar -xvzf myftp.tar.gz B. tar -cvzf myftp.tar.gz C. unzip myftp.tar.gz D. tar -xvjf myftp.tar.gz
13.默认情况下管理员创建了一个用户,就会在()目录下创建一个用户主目录。
A./usr B./home C./root D./etc
14.linux系统是一个()的 *** 作系统
A.单用户、单任务 B.单用户、多任务 C.多用户、单任务 D.多用户、多任务
15.Ubuntu系统默认的shell是()
A.bash B.ksh C.cs D.sh
二、简答题(每题10分,共40分)
1.在当前用户家目录下,新建目录 test1和test2,在test1目录下新建一个a.txt文件.
2.在第一题基础上,假设你当前的工作目录就在当前用户家目录。将test1目录复制到test2目录下,将test2目录重命名test。
3.在第二题基础上,将test目录使用gzip格式进行压缩,将刚刚压缩好的文件解压到bgs目录下
4.新建一个用户student,新建一个用户组bgs,把用户student添加到bgs用户组。假设你在家目录,并且家目录下有一个1.txt文件,请使用一条命令将1.txt文件所有者改为student,所属组改为bgs.
1.介绍一下测试流程(重点,常见!)
2.介绍一下测试方法
3.介绍一下测试用例设计方法(用例设计方法&测试方法需要分清楚)
4.设计一个登录页面的用例(提供某个场景的设计用例,重点!)
5.举例说明项目推进的能力(针对个人评价的举例说明)
6.考试中遇到的比较难的一个项目是?(掌握自己简历上的项目)
7.印象深刻的一个bug?
8.你们公司是不是敏捷开发?介绍一下敏捷开发?
9.复盘会议的主要内容有哪些?
10.App 的兼容性怎么测,App 的接口测试怎么测?
11.Web 端测试和 App 端测试有何不同(常见)
1. 工作中常使用的 SQL 语法有哪些?
2.数据库存储过程
3.SQL 常见查询语句编写(此处仅举例常见的查询语句,如有更多坑,希望补充)
a.查询所有学生的数学成绩,显示学生姓名 name, 分数, 由高到低。
b.统计每个学生的总成绩(由于学生可能有重复名字),显示字段:学生 id,姓名,总成绩。
c.列出各门课程成绩最好的学生, 要求显示字段: 学号,姓名,科目,成绩
4.慢查询是什么意思?
5.导致数据库性能差的可能原因有哪些?
6.Redis 缓存应用场景
7.怎么定位 Redis 缓存失效问题(缓存坏了)
1. 工作中常用的 Linux 命令有哪些?
2.什么命令可以帮助 Linux 执行 Windows 上传的脚本?
3简述 Linux 三剑客
4.如何通命令定位 Linux 服务器下的日志?
5.简述项目中的环境搭建和维护
1. 自动化代码中,用到了哪些设计模式?
2. 什么是断言?
3. UI 自动化测试中,如何做集群?
4. 怎么对含有验证码的功能进行自动化测试?
5. 如何优化和提高 Selenium 脚本的执行速度?
6. 接口测试能发现哪些问题?
7. Selenium 中隐藏元素如何定位?
8. 如何判断一个页面上元素是否存在?
9. 如何提高脚本的稳定性?
10. 如何定位动态元素?
11. 如何通过子元素定位父元素
12. 平常遇到过哪些问题? ?如何解决的
13. 一个元素明明定位到了,点击无效(也没报错),如果解决?
14. 测试的数据你放在哪?
15. 什么是数据驱动,如何参数化?
16. 其他接口都需要登录接口的信息,怎么去让这个登录的接口只在其他接口调用一次?
17. 接口产生的垃圾数据如何清理?
18. 怎么用接口案例去覆盖业务逻辑?
1. 性能测试指标包括哪些
2. 如果一个需求没有明确的性能指标,要如何开始进行性能测试?
3. 介绍 JMeter 聚合报告包括哪些内容?
4. 如果有一个页面特别卡顿,设想一下可能的原因?
5. 说一说项目中的实际测试内容
6. 介绍一下 JMeter 进行性能测试的过程
7. 介绍一下 JMeter 和 LoadRunner 的区别
全套【软件测试/自动化测试】海量资料免费领取
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)