我们精选了一下网友答案:
···································^^····································
选择题
1. (单选)当需要对某个系统进行测试的时候,应该从哪些方面来设计测试用例?
A. 功能验证
B. 性能相关的验证
C. 兼容性相关的验证
D. 安全性相关的验证
E. 以上全是
2. (多选)软件测试过程中,测试数据准备的痛点有哪些?(多选)
A. On-the-fly 测试数据准备的时间消耗
B. Out-of-box 测试数据的“脏数据”
C. 测试数据本身组合的复杂性和多样性
D. 性能测试数据准备的时间消耗
E. 微服务化后,跨多个微服务的数据准备缺乏完整的知识体系
F. 微服务化后,测试数据准备的环境依赖性
3. (单选)无头浏览器的主要应用场景是?
A. 网络爬虫
B. GUI 自动化功能测试
C. 页面监控
D. 以上全是
4. (单选)以下不属于 API 测试工具的是哪个?
A. Postman
B. SoapUI
C. JMeter
D. Selenium
5. (单选)以下属于移动应用测试的工具是哪个?
A. Appium
B. UFT
C. TestNG
D. LoadRunner
问答题
1、GUI 自动化测试脚本分层设计的最佳实践是怎么样?
2、多个 API 连续调用的测试用例的难点是什么?你是如何来解决的?
3、单元测试中,桩函数和 Mock 函数用来解决什么问题,两者又有什么区别?
4、性能压测过程中,当面对大量并发用户调用的时候,服务器端 CPU 的使用率是高好还是低好?为什么?
5、当需要在尽可能短的时间内完成大量 GUI 自动化测试用例的执行时,业界主流的解决方案是什么?
答案与解析
1. (单选)答案:E
解析:除了要考虑显示的功能性需求外,还要涉及安全性、性能、兼容性等非功能性需求的验证。
2. (多选)答案:ABCDEF
解析:关于现在流行的微服务模式,由于每个单一功能的服务都是独立分开部署的,所以我们在准备测试数据时,还可能会遇到诸如环境依赖、跨多个微服务的数据准备缺乏完整的知识体系等问题。
3. (单选)答案:D
解析:无头浏览器的主要应用场景,包括 GUI 自动化测试、页面监控以及网络爬虫这三种。
4. (单选)答案:D
解析:Selenium 属于 GUI 自动化测试工具。
5. (单选)答案:A
解析:UFT(以前的 QTP)属于一款 GUI 测试工具,LoadRunner 属于性能测试工具。而 TestNG 是一个用来简化广泛的测试需求的测试框架,适用于从单元测试到集成测试阶段的测试。
Appium 则是一款很好用的移动测试工具。
6. GUI 自动化测试脚本分层设计的最佳实践是怎样的?
考点分析:GUI 自动化测试脚本的分层设计原理。
答案与解析:
大量 GUI 自动化测试能够成功的关键,就在于脚本的分层设计。而脚本分层设计的核心思想就是模块化。
首先,我们需要对页面进行抽象,形成页面对象模型。在这样的测试用例中,你看到的都是类似于 XXXPage.YYYComponent.ZZZOperation 的语句。它们和实际的手工测试可以建立一一对应的关系,用通俗的话语来讲,就是某某页面上的某某元素,执行了某某操作。
接下来,为了使 GUI 自动化测试脚本更加符合业务场景的描述,同时进一步提高脚本的封装性和可重用性,就需要引入业务流程脚本的概念。这里,业务流程和实际的业务流程也是一一对应的关系。这样,测试用例就可以通过调用业务流程脚本来实现,测试用例本身的可读性以及可维护性也会更好。同样地,业务流程脚本,也是基于页面对象模型实现的。
7. 多个 API 连续调用的测试用例设计难点是什么?你是如何解决的?
考点分析:多个 API 连续调用时,前后两个 API 之间的参数传递。
答案与解析:
单个 API 测试并不难,难的是多个 API 的连续调用,并且后一个 API 的参数值使用的是前一个 API 调用的返回结果,这就要求多个 API 调用之间可以方便地进行参数传递。一个最典型的场景就是,前一个 API 调用会返回一个有效的 token,后一个 API 调用需要带着这个 token 才能调用成功。
为了解决这个问题,一般来讲有三种处理方法:
第一种方法是,手工复制前一个 API 返回结果中的某个值,然后粘贴给后一个 API 作为输入参数。当然,这是最基本的方法,但是效率太低,而且无法实现自动化。
第二种方法是,使用基于代码的 API 测试框架。由于此时所有的测试逻辑都是通过代码来实现的,因此可以很容易地实现 API 之间的参数传递。
第三种方法是,借助于类似 HttpRunner 之类的已有 API 测试框架。此类框架可以通过关键字,很方便地将前一个 API 的返回值中的某个值传递给下一个 API 作为输入参数。
8. 单元测试中,桩函数和 Mock 函数主要用来解决什么问题?这两者又有什么区别呢?
考点分析:理解桩函数和 Mock 函数的本质区别。
答案与解析:
当被测函数中调用了第三方的函数时,我们一般会采用桩函数或者 Mock 函数来模拟这些第三方函数,以此来实现被测函数的高代码覆盖率。可以说,桩函数和 Mock 函数的使用大大方便了单元测试的开展,同时也解决了单元测试的代码耦合性问题。
但是,这两者到底有什么区别呢?
通俗来讲,如果你的测试验证是在被测函数中进行的,那么此时你使用的就是桩函数;而如果你的测试验证是在被模拟的函数中进行的,那么这个被模拟的函数就是 Mock 函数。
9. 性能压测过程中,当面对大量并发用户调用的时候,服务器端 CPU 的使用率是高好还是低好?为什么?
考点分析:理解性能测试指标解读的复杂性,必须要全盘考虑多个指标间的相互关联和制约。
答案与解析:
这个问题的答案,一定会有坚持不同意见的两派人。
一部分人认为,CPU 使用率当然是越低越好。这说明后端代码实现得很高效,只占用很少的计算资源就能实现较高的并发。并发情况下,越低的 CPU 占用率,说明系统可以继续承载越多的并发负载。
而另一部分人则认为,CPU 的使用率是越高越好。这说明系统的计算资源被充分利用了起来。
你同意哪个观点呢?
其实,这个问题本身就是个伪命题,单单通过题干中的信息是不足以给出孰好孰坏的结论的。这里的关键是,随着并发用户数的上升,事务的响应时间是如何变化的。
如果随着并发用户数的增加,事务的响应时间也呈线性增长,但 CPU 的使用率一直上不去,这就是典型的 CPU 资源没有被充分利用的现象。此时,你就需要去进一步诊断为什么 CPU 资源不能在并发场景下被充分利用。
而如果随着并发用户数的增加,事务的响应时间能基本保持稳定,同时 CPU 的使用率会随着并发用户数的增加呈线性增加,这反倒是我们希望看到的结果,也就是说更多的并发用户会需要使用更多的 CPU 资源。
10. 当需要在尽可能短的时间内,执行完大量 GUI 自动化测试用例时,业界主流的解决方案是什么?
考点分析:测试执行架构的设计
答案与解析:
这个问题其实不难回答,业界一般会采用两种方案:
一种是,使用第三方的云测服务,比如国外的 Sauce Labs、国内的 Testin 等;
另一种是,自己搭建 Selenium Grid 集群。
其实,这两种方案的本质都是将大量的测试用例以并发的方式来执行。
划重点,记住,面试前多来我的知乎号看看面试题以及干货,成功率一般都很高;小编亲测有效。
来源:图文来自网络,
·······································································
我们精选了一下网友答案:
有总比没有好,而且如果有时间,为什么不参与一下呢,比起拿到名次、证书,从中学到知识不是更为重要吗,证书、学历等都是简单的门槛,到企业里你能否把工作做好才是最重要的,只有技术过关,才会受到大家尊重,发展也会更好。建议把目光放长远。当然我也不是特别了解这个项目,如果报名要付出很多东西,比如大量的时间、金钱,那就没有必要了。
···································^^····································
很不错,如果有真金实料的话,用人单位会好好培养的
···································^^····································
大专
·······································································
我们精选了一下网友答案:
···································^^····································
可能很多人都不知道
广西贺州这个长寿之乡
走出了两位世界级的计算机大师
巧的是
这两位大咖还是两兄弟
他们就是
谢源(哥哥)、谢涛(弟弟)
谢 源
谢源,广西贺州人,加州大学圣芭芭拉分校电机与计算机工程系教授、可扩展高能效体系结构实验室主任,阿里巴巴平头哥首席科学家、达摩院高级研究员,也是北京大学高能效计算与应用中心兼职教授。他1997 年在清华大学电子工程系获学士学位,先后在1999年和2002年在普林斯顿大学电机工程系获硕士和博士学位。
谢源是计算机体系结构、3D芯片设计领域的权威专家,其研究领域主要包括计算机体系结构、集成电路设计、电子设计自动化和嵌入式系统设计。2014年,他当选国际电气和电子工程师协会会士(IEEE Fellow),2019年11月当选美国科学促进协会会士(AAAS Fellow)。
谢源的主要研究方向是计算机体系结构、集成电路设计、电子设计自动化、和嵌入式系统设计。在这些领域,他先后发表了近300篇研究论文,获得多个国际会议的最佳论文奖,以及NSF CAREER award,中国国家自然科学基金会海外及港澳学者合作研究基金。Google学术引用次数达到18000+。此外,他还获得了体系结构顶会ISCA、HPCA和MICRO的名人堂大满贯,可以说是中国第一人。
让谢源名声大噪,并获得IEEE Fellow的研究成果是3D IC设计,这是他从2002年就开始努力的方向。这在当时并不是一个热门领域。深鉴CEO姚颂曾在2017年教师节回忆称,“直到2012年3D IC都还没有广泛应用。在这样的十年里,谢老师承受着经费不足、不受关注等各种困难,默默地推动着它的发展。”谢源如今成绩,就是对曾经付出的最好嘉奖。
清华电子工程系是中国芯片人才的摇篮,不夸张的说,这里走出了中国芯片产业的半壁江山。谢源是清华电子系中的桃李一员,但谢源又把清华电子系影响力推到更大。因为他还在以阿里平头哥首席科学家的身份,搭班子、建团队,力求实现“让天下没有难造的芯片”。阿里首款AI芯片、平头哥首款硬件——含光800,就是谢源带队交出的第一份成果。
2020年2月28日,国际电气电子工程师学会计算机协会(IEEE CS)公布了2020年度技术成就奖(IEEE CS Technical Achievement Award)名单,阿里巴巴达摩院高级研究员、平头哥首席科学家谢源获得该奖项,这是其当选IEEE、AAAS、ACM三大国际顶级学会的会士(Fellow)后,获得的又一国际顶级荣誉。据了解,今年(2020年)全球共有四位科学家获得IEEE CS技术成就奖。
谢 涛
谢涛,广西贺州人,北京大学计算机科学技术系讲席教授,高可信软件技术教育部重点实验室(北京大学)副主任,美国科学促进会(AAAS)会士,电气电子工程师学会(IEEE )会士,美国计算机协会(ACM)杰出科学家,中国计算机学会(CCF)杰出会员。
谢涛本科考入复旦大学计算机系,1997年毕业;其后硕士进入北京大学,2000年获计算机硕士学位;再然后跟随哥哥谢源脚步,赴美留学。他于2005年在位于西雅图的华盛顿大学计算机科学与工程系获博士学位。与谢源专攻硬件架构不同,谢涛主攻软件工程。在软件测试、软件解析学、软件安全、智能软件工程、教育软件工程等方面卓有成果。曾获得美国NSF Faculty Career Award、微软研究软件工程创新基础奖、谷歌教授研究奖、Facebook研究奖、IBM Jazz创新奖、IBM教授奖。
谢涛从2007年开始和微软雷德蒙研究院合作研发自动测试数据产生工具Pex,他设计和实现的Fitnex路径搜索技术集成到Pex里成为其三大核心技术之一。自2015起,Pex被微软发布为Visual Studio企业版的IntelliTest主打功能,使广大Visual Studio用户受益。基于Pex,他还设计了一款新颖的编程教育游戏Coding Duels,拥有几百万的注册用户,并被微软研究院主办的编程之美大赛和Imagine Cup大赛采用作为其主要竞赛形式之一。
他从2015年开始和腾讯微信测试团队合作研发一系列测试分析技术与系统,已部署在微信质量保障实践中,涉及移动应用自动测试、神经机器翻译异常检测、微信小游戏抄袭检测等。
他在国际软件工程研究领域也做了大量的服务工作,像担任《Software Testing, Verification and Reliability (STVR)》Wiley期刊的联合主编、旗帜性国际期刊杂志《IEEE Transactions on Software Engineering》、《Communications of ACM》等的编委会成员。他还被选为软件工程旗帜性国际会议ICSE 2021(CCF A类会议)的程序委员会共同主席,是该会议43届以来担任该职位的唯一具有中国教育背景的华人学者。
2015年谢涛当选美国计算机协会杰出科学家(ACM Distinguished Scientist),2018年入选IEEE Fellow(2014年哥哥谢源获得了IEEE Fellow荣誉)。2019年11月底,兄弟俩又同时当选美国科学促进会AAAS Fellow。
知多点
国际电气电子工程师学会(IEEE)是世界上最大的专业技术组织之一,其颁发的计算机协会IEEE CS 技术成就奖创立于1985年,旨在表彰学者在过去10-15年中所做出的显著推动本领域技术进步的卓越研究和贡献,全球每年仅有1-5名科学家获得该奖项。以太网络发明人Robert M. Metcalfe博士及图灵奖获得者David Patterson都曾获此殊荣。
AAAS(美国科学促进协会)成立于1848年,是全球最大的综合科学学术组织,下设24个学部,服务1000万以上的科学家,是《Science》杂志的主办者、出版者。Fellow是该学会的最高荣誉,授予对象为对促进科学及其应用进步做出卓越贡献的科学家。
ACM(Association for Computing Machinery, ACM)是美国计算机协会的简称,创立于 1947 年,是全世界计算机领域影响力最大的专业学术组织之一。ACM Fellow是由美国计算机协会(Association for Computing Machinery, ACM)授予资深会员之荣誉,表扬对于计算机相关领域有杰出贡献之学者,审查过程十分严格,每年遴选一次。全世界共有五百多位ACM Fellows,华裔院士二十余人。
来源:广西新闻网、清华大学官方网站、CSND资讯、THU电子系校友会
给我们一颗小星星⭐️
“星标”我们,你才能更好地接收每一条资讯、每一次福利和每一条路况~
老友粉们,赶紧设我们为星标吧!
大家都爱看
670余万元!南宁法官“双11”直播卖车,25小时卖出50辆
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!