软件测试面试题汇总(二)

1.交互性测试的异常场景

交互测试的测试方法是在测试一个功能点时同时随机穿插多个不同的事件,查看不同事件对这个功能点的影响情况,然后在每步之间从事件列表中挑选一个事件进行测试。

2.如何搭建web自动化框架

可参考https://www.jianshu.com/p/71e04066be61

3.注册页面应该从哪些方面进行测试

可参考https://www.cnblogs.com/Jessy/p/3539638.html

4.冒泡排序

思路:按照题目的要求,毫无疑问,正确的结果应该就像这样: 1 2 3 4 5 6 7 8 9 10 要做到这样,最简单和最直接想到的方法就是进行对比交换。

首先,把10个数里最小的个数放到下标为0的位置上(str[0])

通过将下标为0的数(str[0])与剩下其余9个数进行对比交换(将较少者放置在下标为0的位置上),就可以得到这10个数最小的那个

10个数最小的那位确定后,接下来就要找剩下9个数最小的那个。

因为已经确定出一个最小的数,所以就不要动str[0],直接从str[1]开始,与剩下的8个数对比交换,找出9个数中最小的那位放到下标为1(str[1])的位置上

继续按照这个思路就可以将这十个数变成有序的(从小到大)的数组

public static void bubble_sort(int[] arr) {

int i, j, temp, len = arr.length;

for (i = 0; i < len - 1; i++)

for (j = 0; j < len - 1 - i; j++)

if (arr[j] > arr[j + 1]) {

temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

5.SQl:group by,update

select 类别, count(*) as 数量之和 from A group by 类别

UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'

6.Oracle没有top的用法,用什么代替

oracle中查询前10条数据与sql server不同。

sql server:

SELECT top 10 * FROM EMP ORDER BY sal DESC;

在sql server里是使用top来表示前10条的信息。

oracle:

SELECT * FROM EMP WHERE ROWNUM <= 10 ORDER BY sal DESC;

在oracle中是使用ROWNUM 来表示前10条的信息。

7.fillder主要用来做什么

抓包、Web断点调试、前后端接口调试、页面性能优化和分析

8.web自动化时,浏览器打不开的原因有哪些
9.selenium、jmeter的优缺点

利用Jmeter做功能测试有以下优点:

Ø 不依赖于界面,如果服务正常启动,传递参数明确就可以添加测试用例,执行测试

Ø 测试脚本不需要编程,熟悉http请求,熟悉业务流程,就可以根据页面中input对象来编写测试用例。

Ø 测试脚本维护方便,可以将测试脚本复制,并且可以将某一部分单独保存。

Ø 可以跳过页面限制,向后台程序添加非法数据,这样可以测试后台程序的健壮性。

Ø 利用badboy录制测试脚本,可以快速的形成测试脚本

Ø Jmeter断言可以验证代码中是否有需要得到的值

Ø 使用参数化以及Jmeter提供的函数功能,可以快速完成测试数据的添加修改等

利用Jmeter做功能测试有以下缺点:

Ø 使用Jmeter无法验证JS程序,也无法验证页面,所以需要手工去验证。

Ø Jmeter的断言功能不是很强大

Ø 就算是jmeter脚本顺利执行,依旧无法确定程序是否正确执行,有时候需要进入程序查看,或者查看Jmeter的响应数据。

Ø Jmeter脚本的维护需要保存为本地文件,而每个脚本文件只能保存一个测试用例,不利于脚本的维护。

Selenium优点:

开源,免费

多浏览器支持:Firefox、Chrome、IE、Opera、Safari

多平台支持:Linux 、windows、Mac

多语言支持:Java、Python、ruby、PHP、C#、JavaScript

对web 页面有良好的支持

简单(API 简单)、灵活(用开发语言驱动)

支持分布式测试用例执行

10.自动化过程中,找不到元素的原因有哪些?
11.selenium常用的类,方法

1).新建实例

driver = webdriver.Chrome()

2).获取当前页面Url的函数

方法:current_url

实例:driver.current_url

3).表单的提交

方法:submit

解释:查找到表单(from)直接调用submit即可

实例:driver.find_element_by_id("form1").submit()

4).获取CSS的属性值

方法:value_of_css_property(css_name)

实例:driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")

5).获取元素的属性值(一组元素中非常实用)

方法:get_attribute(element_name)

实例:driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")

6).判断元素是否被选中

方法:is_selected()

实例:driver.find_element_by_id("form1").is_selected()

7).返回元素的大小

方法:size

实例:driver.find_element_by_id("iptPassword").size

返回值:{'width': 250, 'height': 30}

8).判断元素是否显示(非常实用)

方法:is_displayed()

实例:driver.find_element_by_id("iptPassword").is_displayed()

9).判断元素是否被使用

方法:is_enabled()

实例:driver.find_element_by_id("iptPassword").is_enabled()

10).获取元素的文本值(非常实用)

方法:text

实例:driver.find_element_by_id("iptUsername").text

11).元素赋值

方法:send_keys(*values)

实例:driver.find_element_by_id("iptUsername").send_keys('admin')

12).删除浏览器所有的cookies

方法:delete_all_cookies()

实例:driver.delete_all_cookies()

13).删除指定的cookie

方法:delete_cookie(name)

实例:deriver.delete_cookie("my_cookie_name")

14).设置等待超时时间,可以在设置的时间内智能等待

方法:implicitly_wait(wait_time)

实例:driver.implicitly_wait(30)

15).查看浏览器的名字

方法:name

实例:drvier.name

16).打印title

方法:title

实例:deriver.title

12.selenium有哪些注解,beforeTest和beforeMethod谁先执行

按TestNG -->BeforeSuite -->BeforeTest -->BeforeClass -->BeforeMethod的顺序

13.页面未加载完成,定位元素的等待方式有哪些?

1)、强制等待

time.sleep(5) #等待5秒

2)、隐性等待

browser.implicitly_wait(30) #隐性等待

3)、显性等待

browser.find_element_by_link_text("贝壳规则添加").click()

browser.find_element_by_xpath("/html/body/div[2]/div[1]/ul/li[7]/ul/li[2]/a").click()

browser.implicitly_wait(10)

try:

WebDriverWait(browser, 20, 1).until(lambda x:x.find_elenium_by_xpath("/html/body/div[2]/div[1]/ul/li[7]/ul/li[2]/a"))

finally:

browser.close()

14.对登录进行压测,需要关注的指标有哪些

本机的CPU占用率,内存占用率 磁盘的读写指标

、网络的占用情况、 基础吞吐率、事务处理速度( 如平均登录时间,操作平均响应时间)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342