与开发相比,软件测试工程师前期可能不会太深,但涉及面还是非常广的。在一年左右的实习生或岗位的早期面试中,主要是问的也是一些基本的问题。涉及到的知识主要包括MySQL数据库的使用、Linux操作系统的使用、软件测试框架问题、测试环境搭建问题,当然还会有一些自动化测试和性能测试的问题。
软件测试工程师的面试题基本都是一样的。面试的核心在于框架模块(一到两年的工作经验)。今天的文章主要讲解之前自己面试或者身边人的面试过程中经常会被问到的经典面试题,也是软件测试的热点问题。
1、软件测试的流程是什么?
分析:每当HR问一个问题的时候,我们可以花1-2秒思考HR想从这个问题中得到什么信息。弄清楚这一点就很容易回答了。如果有工作经验,可按公司流程直接回答。如果是刚转行或者刚开始实习,可以按标准回答。文中答案仅供参考;
答:项目经理或PD会提前将项目需求文档下发给相关研发人员,研发人员会花一定的时间记录文档中不清楚或遗漏的地方,为后续评审做准备;在需求评审会上,每个研发人员提出自己的问题并解决。需求评审最终通过后,会出一份最终的需求规格说明书;(需求评审阶段)
需求规格书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,开发人员在计划评审通过后开始程序开发, 测试人员开始编写测试用例,第一版程序出来后,开发人员迭代第二版。此时,测试人员对程序进行测试,记录和跟踪管理缺陷,直至程序迭代完成。(产品研发阶段)
程序迭代完成,且大部分缺陷修复后,测试人员开始进行工作总结,最终输出一份测试报告,记录这次的测试工作中,程序存在的相关问题。(产品发布阶段)
2、测试用例主要有哪些元素?
分析:由于每个公司使用的模板不同,测试用例的内容也不尽相同,所以回答时只需要回答基本要素即可;
答:测试用例的主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等。
3、软件测试有什么策略和阶段?
分析:软件测试的策略就是测试将按照什么样的思路和方式采用什么技术、什么步骤等。
答:软件测试策略主要有:动态测试和静态测试、白盒测试和黑盒测试。测试阶段有:单元测试、集成测试、系统测试,有些公司会有验收测试。(单元测试开发是在调试代码时完成的,集成测试也是如此,但有时测试人员也需要进行集成测试;测试人员平时的主要工作是系统测试,验收测试是在客户参与下进行的测试);
4、黑盒测试和白盒测试是什么?二者有什么区别?
分析:黑盒测试和白盒测试百度百科上面有,这里不再做太多介绍了。
黑盒测试和白盒测试的区别:
答:黑盒测试主要是在程序界面进行测试的,它通过设定某种场景来检验程序在这个场景下是否给出正确的反应,从而验证程序是否正确满足需求规格说明书中的要求。白盒测试主要针对程序内部结构,对程序代码进行代码走查等等,但是白盒测试的成本会比较高,当程序有多个路径时,可能会出现更多的遗漏。
5、软件测试有什么类型?
答:常见软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等等;
6、测试用例是什么?有什么作用?
答:测试用例就是设计一个特定的场景,让软件在这种场景下运行,检验程序是否给出正确反应,以此验证软件是否正确实现了客户的需求。
作用:
1)避免盲目测试并提高测试效率;在软件版本更新后只需修正少部分用例就能开展测试工作,降低工作强度,缩短测试周期;
2)可以分清哪些是测试的重点,测试用例是测试工作的见证,能知道测试了哪些功能,没有测哪些模块;
3)测试用例是量化测试工作的方法之一。
7、你平时是怎么设计测试用例的?
分析:这个问题主要考察是否掌握测试用例设计方法,在回答后,HR可能会继续追问某种设计方法的概念或实例,举例说明即可;比如:等价类划分法就是把程序的输入域划分成等价类,从各部分中选取少数代表性数据当做测试数据。
答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图及错误推测法。
8、软件缺陷的定义是什么?
分析:什么样的问题才是一个缺陷,需要从客户的需求出发;
1)软件没有实现需求规格说明书中要求;
2)出现了需求规格说明书中指明不该出现的错误;
3)软件没有实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)
4)软件出现难以理解、不易使用或运行速度慢等问题都可以认为是软件缺陷;
9、缺陷中应该包含什么元素?严重等级有哪些?
分析:和上面测试用例一样,每个公司的要求可能都会不同;
答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等等;
软件缺陷等级一般有四种:致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但会造成一定的麻烦)、优化(字体字号不统一)
10、给你一个杯子,你会怎么测试?
分析:这种问题在前期的面试中是经常遇到也是很经典的一道面试题,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。
11、测试报告里面包含什么内容?
分析:测试报告是测试工作结束之后测试部门输出的测试结果,但各个公司的测试报告内容都会有些差别。有些公司的测试报告是由测试部门负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成完整的测试报告;
答:测试报告内容有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等。
12、如果在测试过程中发现了BUG,可是开发不认这是Bug,你会怎么办?
分析:HR问这个问题主要是想知道你平时是如何处理与同事之间的关系的。开发和测试是对立又统一的两个岗位,所以开发和测试之间关系的处理是HR面试过程中需要考虑的一个点。当然,HR问这个问题也说明该公司有氛围不是很好的风险。
答:首先还是要回归到客户的需求上面,确认这个问题到底属不属于一个缺陷,如果确实是的就要和开发同事解释清楚;如果开发还是坚持自己想法的话,就询问同事或者测试组长的意见,讨论一下这个问题到底属不属于缺陷问题,如果大家都觉得是则需要再和开发解释清楚。
13、你们公司的需求评审是怎样进行的?
分析:需求评审,就是对客户需求、软件各个模块之间模糊的点进行审查,排除不理解或没有考虑到的点。
答:需求评审,在一些分工较明确的公司,都是由PD(产品设计师)负责的,需求确认好后再下发到开发和测试部门;分工不明确的公司可能就是开发测试产品等大家坐在一起共同进行探讨;评审形式一般分线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续评审会议做准备。
14、MySQL的常用命令有哪些?
分析:数据库知识是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识要求一般不会太高,只要求能掌握基本的增删改查语句就行。关于数据库的知识,后续也会慢慢的整理出来,供大家学习、参考。
答:这里只给出几个标准的语法结构:
增:insert into 表名(列名) values (数据);
如:在stu表中插入id为001,姓名为李四的学生,(insert into Stu(stu_id,stu_name) values (001,‘李四’);)
删:delete from 表名 where 指定数据;
如:在stu表中删除id为001,姓名为李四的学生:(detele from Stu where stu_id=‘001’ and stu_name = ‘李四’;)
改:update 表名 set 改变项 where 指定数据;
如:在stu表中修改id为001的学生姓名为“李四”:(update Stu set stu_name = ‘李四’ where stu_id=‘001’ ;)
查:select (查询项) from 表名 where 指定条件;
如:在stu表中查询id为001,姓名为“李四”的学生信息:(select * from Stu where stu_name = ‘李四’ and stu_id=‘001’ ;)
15、Linux下的一些常用命令是什么?
分析:Linux系统,是软件测试工程师必须要掌握的一项基本技能,由于Linux具有运行稳定等诸多优点,所以软件的服务器大多部署在Linux系统上,搭建测试环境也是软件测试工程师需要掌握的。关于Linux的知识,后续会慢慢的整理出来,供大家学习、参考。由于Linux下很多命令都是常用的,所以这里就不给出答案。
16、你未来的职业规划是什么?
分析:这个问题是所有面试中最常问的,问的人可能是HR、部门主管、经理、甚至是董事长。同样一个问题,问的人不同,想获取的信息肯定也是不一样的。HR更多的是想看你在公司的稳定性;技术主管则更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能;经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;
答:HR:如果是HR问的话,要多从稳定性的角度回答,如:家人、朋友都在公司附近,或喜欢贵公司的文化氛围等等;
技术:回答前可以先简单介绍一下自己为什么选择软件测试这个职业,及自己对这个职业的一些看法,最后再回答自己的职业发展方向就行;
经理or董事长:这个回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以要在回答时再带一句,“具体的发展方向,还需要根据公司的发展方向去调整”,这样回答会保险一些。
17、还有什么想要问我的吗?
分析:这个问题在每个面试尾声都会被问到,直接说没有的话,会让HR觉得你不关心这个岗位,问多了又会显得面试前没有做好充分准备。所以问题控制在两到三个比较好。
1)公司的研发团队目前什么规模?开发、测试分别有多少人?
2)公司的业务方向是什么?
3)如果我入职之后,我的工作职责是什么?
18、为什么想离职?
分析:这个问题主要是想了解你的近况,以及上一家公司是什么原因导致你离职。大部分情况下,HR都会理解你的,但是回答问题时千万不要太过于实诚,有些面试者一上来就抱怨上一家公司如何压榨公司员工等这些话语,没有一家公司会愿意接受这样的面试者,HR并不能完全感受你遭遇到的,所以还请控制好自己的负面情绪。
1、B/S架构和C/S架构区别?
1、架构不同:B/S架构是浏览器/服务器架构,C/S架构是客户端/服务器架构。
2、客户端不同:B/S架构的客户端是浏览器,C/S架构的客户端是客户端程序。
3、功能不同:B/S架构主要用于网络服务,C/S架构主要用于应用程序服务。
4、维护不同:B/S架构的维护主要在服务器端,C/S架构的维护主要在客户端和服务器端。
5、安全性不同:B/S架构的安全性较低,C/S架构的安全性较高。
2、Cookie和Session的区别?
Cookie和Session都是用来保存用户信息的技术,但是它们之间有一些明显的区别:
1、Cookie数据存放在客户的浏览器上,而Session数据放在服务器上。
2、Cookie不是很安全,别人可以分析存放在本地的Cookie并进行Cookie欺骗,而Session比较安全,服务器端会对Session加密处理。
3、Cookie可以设置过期时间,当访问器关闭后Cookie就会失效,而Session会在一定时间内保存,当访问器关闭后,Session不会失效,只有当Session过期时间到了,Session才会失效。
4、Cookie可以保存客户端的信息,而Session只能保存服务器端的信息。
3、测试的目的是什么?
测试的目的是为了确保软件系统能够按照预期的方式正常运行,并且能够满足用户的需求。
4、对一支圆珠笔进行测试,要从哪些方面进行测试?
1、写字质量:检查笔尖的细腻度、笔芯的流畅度、笔芯的颜色、笔芯的持久度等。
2、外观质量:检查笔身的外观、笔芯的外观、笔帽的外观等。
3、工艺质量:检查笔芯的安装情况、笔芯的拆卸情况、笔芯的更换情况等。
4、功能性能:检查笔尖的精细度、笔芯的流畅度、笔芯的持久度、笔芯的耐用度等。
5、安全性能:检查笔芯的安全性、笔芯的耐磨性、笔芯的耐腐蚀性等。
5、三角形测试用例设计?
1、测试用例1:输入三条边长,验证是否能构成三角形
2、测试用例2:输入三条边长,验证是否能构成等边三角形
3、测试用例3:输入三条边长,验证是否能构成等腰三角形
4、测试用例4:输入三条边长,验证是否能构成直角三角形
5、测试用例5:输入三条边长,验证是否能构成钝角三角形
6、在项目中发现哪些经典bug?什么原因导致的?
1、空指针异常:当程序试图访问一个不存在的指针时,就会发生空指针异常。这种异常通常是由于程序员忘记初始化指针或者试图访问一个不存在的内存地址而导致的。
2、越界访问:当程序试图访问一个超出数组范围的元素时,就会发生越界访问。这种异常通常是由于程序员忘记检查数组的边界条件而导致的。
3、内存泄漏:当程序在申请内存后,忘记释放内存时,就会发生内存泄漏。这种异常通常是由于程序员忘记释放内存或者忘记检查内存是否被释放而导致的。
7、如何尽快找到软件中的bug?
1、首先,要对软件的功能和架构有一个清晰的理解,以便更好地定位问题。
2、尝试使用软件的不同功能,查看是否有任何异常情况发生。
3、尝试使用不同的输入数据,以查看软件是否能够正确处理。
4、尝试使用软件的自动测试功能,以查看是否有任何异常情况发生。
5、尝试使用软件的调试功能,以查看软件的执行过程,以及可能出现的错误。
6、尝试使用软件的日志功能,以查看可能出现的错误信息。
7、尝试使用第三方工具,如内存调试器,以查看可能出现的内存泄漏。
8、尝试使用第三方工具,如性能分析器,以查看可能出现的性能问题。
9、尝试使用第三方工具,如安全扫描器,以查看可能出现的安全漏洞。
10、尝试使用第三方工具,如静态代码分析器,以查看可能出现的代码错误。
8、搜索功能怎么测试?
1、功能方面的测试:
搜索单个字,词语,句子,检索到的内容是否准确,链接是否准确
长度:例如输入框支持100字符,那需要测试100字符、101字符,最大长度的显示是否正常
哪些是支持的字符类型:数字、字母、汉字、字符!@!#、特殊字符(需求而定)
字符串前后中带空格,前后的空格是否过滤,中间的空格是否保留(需求而定)
全角半角的字母、数字(需求而定)
2、性能方面的测试
点击搜索按钮后,搜索结果多长时间能够显示
进入搜索页面需要多久
3、安全性方面的测试
能否防止SQL注入攻击,否防止XSS攻击
4、用户体验测试
页面布局是否合理,输入框和按钮是否对齐
输入框的大小和按钮的长度,高度是否合理
快捷键:能不能全选,部分选择,复制剪切粘贴是否可用,粘贴超过最大长度的字符串怎么显示
5、兼容性测试
BS架构:不同浏览器测试,比如:火狐,谷歌,360这些
APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,苹果,华为,vivo,oppo等
9、如果需要你来测试淘宝的购物车,你会如何设计测试用例,需要从哪些方面来考虑?
1、打开淘宝页面后,页面的布局是否是完整的
2、页面的功能按钮是否可以正常显示
3、在商品页面是否会显示加入购物车
4、选中的商品是否能加入购物车
5、加入购物车后是否可以显示商品的所有信息
6、添加到购物车的商品是否可以进行删除
7、如果在网络不佳或无网络时是否可以成功的加入购物车
8、添加购物车后,点击加号的时候数量是否会增长
9、添加购物车后,点击减号的时候数量是否会减少
10、如果点击减号减到一定程度时,是否会提示不能再减少了
11、如果淘宝用户未登录时,如果添加到购物车时是否会提示请先登录
12、如果没有选择任何商品,点击结算,是否会提示用户“请添加要结算的商品”
13、勾选商品后已选商品的总价是否会显示
14、勾选商品显示总价后,总价计算是否正确
15、勾选商品,点击结算按钮后,是否会进入确认订单信息的页面
16、进入确认订单信息页面的总价是否正确
17、总价是否会出现精度不准的情况,比如:正确总价是18.99,结果显示的确实18.999999999999
18、是否有回到顶部功能
19、是否可以编辑商品属性
20、能否移入到收藏中
21、店铺名称是否显示
22、能否选择全部商品
23、能否取消选择全部商品
24、是否可以在购物车中修改商品的规格
25、添加购物的数量超过库存数量是否进行限制
26、是否可以进行清空购物车
27、结算金额是否会随着商品数量的增加减少进行变化
28、如果刷新的次数过多,是否会出现闪退的现象
29、当手机来电话时淘宝页面是会还会运行
30、当手机内存不够时,淘宝运行起来是否会出现卡顿的现象
10、数据库有几种表结构的连接方式?
内连接(inner join)
外连接(outer join)
左外连接(left outer join)
右外连接(right outer join)
全外连接(full outer join)
区别:
1、其中外连接的“OUTER”关键字可以省略不写。
2、内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录。
3、内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接。
4、左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行
5、右外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行。
6、全连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的其他行。
11、UI自动化中常用的定位元素的方法?
-
1、id定位
-
find_element_by_id("") #通过id来定位元素
-
在HTML中,id是唯一的,通过id但部分元素可能没有id或id为随机值。
-
2、name定位
-
find_element_by_name("") #通过name来定位元素
-
3、class定位
-
find_element_by_class_name("") #通过class来定位元素
-
4、tag定位
-
find_element_by_tag_name("") #通过tag来定位元素
-
5、link定位
-
find_element_by_link_text("") #通过link来定位元素
-
6、partial link定位
-
find_element_by_partial_link_text("") #通过元素标签对之间的部分文字进行元素定位
-
7、XPath定位(UI自动化应用最普遍的)
-
下面列出了最有用的路径表达式:
-
nodeName 选取此节点的所有子节点
-
/ 从根节点选取
-
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
-
. 选取当前节点
-
… 选取当前节点的父节点
-
@ 选取属性
-
下面XPath的几种元素定位方法
-
(1)绝对路径定位
-
find_element_by_xpath("/html/body/div[2]/div[2]/div[5]/div[1]/div/form/span[2]/input")
-
(2)利用元素定位(与前六种方法类似)
-
#利用元素属性进行定位
-
find_element_by_xpath("//input[@id='**']")
-
find_element_by_xpath("//input[@name='**']")
-
find_element_by_xpath("//input[@class='**']")
-
find_element_by_xpath("//input[@type='**']")
-
#利用元素层级属性进行定位,相对路径 #根据class属性唯一值,一层一层定位到元素
-
find_element_by_xpath("//div[@class='**'])/table/tbody/tr/td/div")
-
#利用逻辑运算符进行定位
-
find_element_by_xpath("//input[@id='**' and @name='**']")
-
find_element_by_xpath("//input[@id='**' or @name='**']")
-
#利用contains包含方法进行定位,查找classname属性下,classname中包含name的元素
-
find_element_by_xpath("//classname[contains(@classname,'name')]")
-
#利用starts-with,使用开始位置元素进行定位
-
find_element_by_xpath("//input[starts-with(@name,'vaule')]")
-
#利用ends-with,使用结束位置元素进行定位
-
find_element_by_xpath("//input[ends-with(@name,'vaule')]")
-
#利用text()进行元素定位
-
find_element_by_xpath("//input[text(),'百度']")
-
#其它方法 #string-length()、substring、substring-before()、substring-after()
-
8、CSS_selector定位
-
CSS选择器可以更灵活的选择空间的任意属性,且CSS定位速度比XPath定位快。
-
find_element_by_css_selector(".**") #通过class定位,CSS中class选择器以"."来定义
-
find_element_by_css_selector("#**") #通过id定位,CSS中id选择器以"#"来定义
-
find_element_by_css_selector("div") #通过标签名定位
-
find_element_by_css_selector("[name='**']") #通过name进行定位
-
find_element_by_css_selector("td > div") #通过父标签,查找子元素中标签名为div的所有元素
12、关闭浏览器close()与quit()的区别?
close() 关闭当前操作的窗口(并非关闭超链接新打开的窗口)
quit() 退出相关驱动程序,关闭所有窗口
一般在自动化脚本执行完后,需要清空环境,释放占用的内存。采用driver.quit()来直接关闭浏览器。
13、自动化测试中元素定位不到有哪几种原因?
1、检查元素是不是写对了(看似简单,但是我相信还是会有人自己打错了)
2、ID是自动生成的,随机的,如果是自动生成的id,那么朋友,你只能是放弃使用id来定位了
3、选用的方法对应的属性并不唯一,整个页面有好几个
4、查看是否存在多个iframe标签,需要切换iframe再定位
5、使用了带有空格的属性,定位的时候请避开选用带空格的属性
6、看看是不是使用了绝对路径,因为在前端开发的时候可能会增删改标签,这就导致你用的绝对路径出错了,所以使用相对路径会比较好
7、检查有没有加上等待时间,很多时候是因为未加载出来元素导致元素找不到
8、检查自己设的等待时间是不是太短了,别以为加了等待时间就万事ok了,说不定你设的3秒内加载元素,结果人家第4秒才加载出来,那就哦豁了,所以可以适当的加上等待时间,至于是隐性等待还是显性等待或者是固定等待,视情况选择吧
9、检查你选择的元素是不是可见的,有的元素会被隐藏
14、常用自动化测试工具有哪些?
1、Selenium:Selenium是一种用于Web应用程序测试的开源自动化测试工具。它可以模拟用户在Web浏览器中的操作,以验证Web应用程序的功能和性能。
2、Appium:Appium是一种开源的自动化测试框架,可用于测试原生、混合和移动Web应用程序。它可以在多种移动设备和操作系统上运行,包括iOS、Android和Firefox OS。
3、Watir:Watir是一种开源的自动化测试框架,可用于测试Web应用程序。它使用Ruby编写,可以模拟用户在Web浏览器中的操作,以验证Web应用程序的功能和性能。
4、TestComplete:TestComplete是一种商业自动化测试工具,可用于测试Windows、Web、移动和桌面应用程序。它可以自动录制和回放用户操作,以验证应用程序的功能和性能。
5、QTP:QTP(QuickTest Professional)是一种商业自动化测试工具,可用于测试Windows、Web、移动和桌面应用程序。它可以自动录制和回放用户操作,以验证应用程序的功能和性能。
15、弱网测试是怎么做的?
弱网测试是指在网络环境较差的情况下,测试软件或硬件的性能和稳定性。它的主要目的是检测软件或硬件在网络环境较差的情况下是否能够正常运行,以及在网络环境较差的情况下,软件或硬件的性能是否能够满足用户的要求。
弱网测试的具体步骤如下:
1、分析用户的网络环境:首先,需要分析用户的网络环境,包括网络的带宽、网络的延迟、网络的丢包率等,以便确定测试的网络环境。
2、设置测试环境:根据用户的网络环境,设置测试环境,包括设置网络的带宽、网络的延迟、网络的丢包率等,以便模拟用户的网络环境。
3、进行测试:在设置好的测试环境中,进行测试,检测软件或硬件在网络环境较差的情况下是否能够正常运行,以及在网络环境较差的情况下,软件或硬件的性能是否能够满足用户的要求。
4、分析测试结果:最后,分析测试结果,确定软件或硬件在网络环境较差的情况下是否能够正常运行,以及在网络环境较差的情况下,软件或硬件的性能是否能够满足用户的要求。
16、关键字驱动和数据驱动有哪些区别?
1、关键字驱动是指测试用例的执行过程是由一系列的关键字来控制的,而数据驱动是指测试用例的执行过程是由外部的数据文件来控制的。
2、关键字驱动的测试用例的编写比较简单,而数据驱动的测试用例的编写比较复杂。
3、关键字驱动的测试用例可以更容易地实现参数化,而数据驱动的测试用例可以更容易地实现数据驱动。
4、关键字驱动的测试用例可以更容易地实现自动化,而数据驱动的测试用例可以更容易地实现可维护性。
17、什么是装饰器,其作用是什么?
装饰器是一种特殊的函数,它可以在不更改原函数的基础上,为其添加额外的功能。它的作用是在不改变原函数的基础上,为其添加额外的功能,从而使代码更加简洁、优雅。
18、怎样获取字典中的所有键的列表?
-
可以使用dict.keys()方法获取字典中的所有键的列表:
-
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
-
keys = dict.keys()
-
print(keys)
-
# 输出结果:dict_keys(['Name', 'Age', 'Class'])
19、如何查看Linux服务器的负载?
可以使用top命令查看Linux服务器的负载,top命令可以实时显示系统中各个进程的资源占用情况,包括CPU使用率、内存使用量等。
也可以使用uptime命令查看Linux服务器的负载,uptime命令可以显示系统的运行时间、当前登录用户数、系统负载等信息。
20、利用Python写出九九乘法口诀?
-
for i in range(1, 10):
-
for j in range(1, i+1):
-
print('{}x{}={}\t'.format(i, j, i*j), end='')
-
print()
-
# 输出结果:
-
1x1=1
-
2x1=2 2x2=4
-
3x1=3 3x2=6 3x3=9
-
4x1=4 4x2=8 4x3=12 4x4=16
-
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
-
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
-
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
-
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
-
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。