关于java:软件测试工程师笔试题带答案二

2次阅读

共计 32890 个字符,预计需要花费 83 分钟才能阅读完成。

如何对 web 零碎进行全面测试?
一、功能测试

1、链接测试
链接是 Web 利用零碎的一个次要特色,它是在页面之间切换和领导用户去一些不晓得地址的页面的次要伎俩。链接测试可分为三个方面。首先,测试所有链接是否按批示的那样的确链接到了该链接的页面; 其次,测试所链接的页面是否存在; 最初,保障 Web 利用零碎上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有晓得正确的 URL 地址能力拜访。链接测试能够主动进行,当初曾经有许多工具能够采纳。链接测试必须在集成测试阶段实现,也就是说,在整个 Web 利用零碎的所有页面开发实现之后进行链接测试。
2、表单测试
当用户给 Web 利用系统管理员提交信息时,就须要应用表单操作,例如用户注册、登陆、信息提交等。在这种状况下,咱们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否失当,填写的所属省份与所在城市是否匹配等。如果应用了默认值,还要测验默认值的正确性。如果表单只能承受指定的某些值,则也要进行测试。例如:只能承受某些字符,测试时能够跳过这些字符,看零碎是否会报错。
3、Cookies 测试
Cookies 通常用来存储用户信息和用户在某利用零碎的操作,当一个用户应用 Cookies 拜访了某一个利用零碎时,Web 服务器将发送对于用户的信息,把该信息以 Cookies 的模式存储在客户端计算机上,这可用来创立动静和自定义页面或者存储登陆等信息。如果 Web 利用零碎应用了 Cookies,就必须查看 Cookies 是否能失常工作。测试的内容可包含 Cookies 是否起作用,是否按预约的工夫进行保留,刷新对 Cookies 有什么影响等。
4、设计语言测试
Web 设计语言版本的差别能够引起客户端或服务器端重大的问题,例如应用哪种版本的 HTML 等。当在分布式环境中开发时,开发人员都不在一起,这个问题就显得尤为重要。除了 HTML 的版本问题外,不同的脚本语言,例如 Java、JavaScript、ActiveX、VBScript 或 Perl 等也要进行验证。
5、数据库测试
在 Web 利用技术中,数据库起着重要的作用,数据库为 Web 利用零碎的治理、运行、查问和实现用户对数据存储的申请等提供空间。在 Web 利用中,最罕用的数据库类型是关系型数据库,能够应用 SQL 对信息进行解决。在应用了数据库的 Web 利用零碎中,个别状况下,可能产生两种谬误,别离是数据一致性谬误和输入谬误。数据一致性谬误次要是因为用户提交的表单信息不正确而造成的,而输入谬误次要是因为网络速度或程序设计问题等引起的,针对这两种状况,可别离进行测试。
二、性能测试
1、连贯速度测试
用户连贯到 Web 利用零碎的速度依据上网形式的变动而变动,他们或者是电话拨号,或是宽带上网。当下载一个程序时,用户能够等较长的工夫,但如果仅仅拜访一个页面就不会这样。如果 Web 零碎响应工夫太长(例如超过 5 秒钟),用户就会因没有急躁期待而来到。另外,有些页面有超时的限度,如果响应速度太慢,用户可能还没来得及浏览内容,就须要从新登陆了。而且,连贯速度太慢,还可能引起数据失落,使用户得不到实在的页面。
2、负载测试
负载测试是为了测量 Web 零碎在某一负载级别上的性能,以保障 Web 零碎在需要范畴内能失常工作。负载级别能够是某个时刻同时拜访 Web 零碎的用户数量,也能够是在线数据处理的数量。例如:Web 利用零碎能容许多少个用户同时在线? 如果超过了这个数量,会呈现什么景象?Web 利用零碎是否解决大量用户对同一个页面的申请?
3、压力测试
负载测试应该安顿在 Web 零碎公布当前,在理论的网络环境中进行测试。因为一个企业外部员工,特地是项目组人员总是无限的,而一个 Web 零碎能同时解决的申请数量将远远超出这个限度,所以,只有放在 Internet 上,承受负载测试,其后果才是正确可信的。进行压力测试是指理论毁坏一个 Web 利用零碎,测试零碎的反映。压力测试是测试零碎的限度和故障恢复能力,也就是测试 Web 利用零碎会不会解体,在什么状况下会解体。黑客经常提供谬误的数据负载,直到 Web 利用零碎解体,接着当零碎重新启动时取得存取权。压力测试的区域包含表单、登陆和其余信息传输页面等。
三、可用性测试
1、导航测试
导航形容了用户在一个页面内操作的形式,在不同的用户接口管制之间,例如按钮、对话框、列表和窗口等; 或在不同的连贯页面之间。通过思考下列问题,能够决定一个 Web 利用零碎是否易于导航:导航是否直观?Web 零碎的次要局部是否可通过主页存取?Web 零碎是否须要站点地图、搜索引擎或其余的导航帮忙? 在一个页面上放太多的信息往往起到与预期相同的成果。Web 利用零碎的用户趋向于目标驱动,很快地扫描一个 Web 利用零碎,看是否有满足本人须要的信息,如果没有,就会很快地来到。很少有用户违心花工夫去相熟 Web 利用零碎的构造,因而,Web 利用零碎导航帮忙要尽可能地精确。导航的另一个重要方面是 Web 利用零碎的页面构造、导航、菜单、连贯的格调是否统一。确保用户凭直觉就晓得 Web 利用零碎外面是否还有内容,内容在什么中央。Web 利用零碎的档次一旦决定,就要着手测试用户导航性能,让最终用户参加这种测试,成果将更加显著。
2、图形测试
在 Web 利用零碎中,适当的图片和动画既能起到广告宣传的作用,又能起到丑化页面的性能。一个 Web 利用零碎的图形能够包含图片、动画、边框、色彩、字体、背景、按钮等。
图形测试的内容有:
(1) 要确保图形有明确的用处,图片或动画不要胡乱地堆在一起,免得节约传输工夫。Web 利用零碎的图片尺寸要尽量地小,并且要能分明地阐明某件事情,个别都链接到某个具体的页面。
(2)验证所有页面字体的格调是否统一。
(3)背景色彩应该与字体色彩和前景色彩相搭配。
(4)图片的大小和品质也是一个很重要的因素,个别采纳 JPG 或 GIF 压缩。
3、内容测试
内容测试用来测验 Web 利用零碎提供信息的正确性、准确性和相关性。信息的正确性是指信息是牢靠的还是误传的。例如,在商品价格列表中,谬误的价格可能引起财政问题甚至导致法律纠纷; 信息的准确性是指是否有语法或拼写错误。这种测试通常应用一些文字处理软件来进行,例如应用 Microsoft Word 的拼音与语法查看性能; 信息的相关性是指是否在以后页面能够找到与以后浏览信息相干的信息列表或入口,也就是个别 Web 站点中的所谓相干文章列表。
4、整体界面测试
整体界面是指整个 Web 利用零碎的页面结构设计,是给用户的一个整体感。例如:当用户浏览 Web 利用零碎时是否感到舒服,是否凭直觉就晓得要找的信息在什么中央? 整个 Web 利用零碎的设计格调是否统一? 对整体界面的测试过程,其实是一个对最终用户进行考察的过程。个别 Web 利用零碎采取在主页上做一个考察问卷的模式,来失去最终用户的反馈信息。对所有的可用性测试来说,都须要有内部人员(与 Web 利用零碎开发没有分割或分割很少的人员) 的参加,最好是最终用户的参加。
四、客户端兼容性测试
1、平台测试
市场上有很多不同的操作系统类型,最常见的有 Windows、Unix、Macintosh、Linux 等。Web 利用零碎的最终用户到底应用哪一种操作系统,取决于用户零碎的配置。这样,就可能会产生兼容性问题,同一个利用可能在某些操作系统下能失常运行,但在另外的操作系统下可能会运行失败。因而,在 Web 零碎公布之前,须要在各种操作系统下对 Web 零碎进行兼容性测试。
2、浏览器测试
浏览器是 Web 客户端最外围的构件,来自不同厂商的浏览器对 Java,、JavaScript、ActiveX、plug-ins 或不同的 HTML 规格有不同的反对。例如,ActiveX 是 Microsoft 的产品,是为 Internet Explorer 而设计的,JavaScript 是 Netscape 的产品,Java 是 Sun 的产品等等。另外,框架和层次结构格调在不同的浏览器中也有不同的显示,甚至基本不显示。不同的浏览器对安全性和 Java 的设置也不一样。测试浏览器兼容性的一个办法是创立一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。
五、安全性测试
Web 利用零碎的安全性测试区域次要有:
(1) 当初的 Web 利用零碎根本采纳先注册,后登陆的形式。因而,必须测试无效和有效的用户名和明码,要留神到是否大小写敏感,能够试多少次的限度,是否能够不登陆而间接浏览某个页面等。
(2)Web 利用零碎是否有超时的限度,也就是说,用户登陆后在肯定工夫内 (例如 15 分钟) 没有点击任何页面,是否须要从新登陆能力失常应用。
(3)为了保障 Web 利用零碎的安全性,日志文件是至关重要的。须要测试相干信息是否写进了日志文件、是否可追踪。
(4)当应用了安全套接字时,还要测试加密是否正确,查看信息的完整性。
(5)服务器端的脚本经常形成安全漏洞,这些破绽又经常被黑客利用。所以,还要测试没有通过受权,就不能在服务器端搁置和编辑脚本的问题。

测试用例设计经典面试题——电梯,杯子,笔,桌子,洗衣机
优良测试人员应具备的素质:
1)沟通能力与表达能力
2)好奇心与狐疑精力
3)责任感与抗压能力
4)自信心,保持本人的观点
5)急躁与仔细
6)逆向思维的能力
7)长于学习与总结
8)团队合作精力
9)文档编写能力

优良测试人员应具备的技能:
1)精通业务常识
2)具备软件编程能力,比方 C,C++,JAVA 等。
3)能够用脚本语言编写小测试工具
4)支流操作系统利用与网络常识,能够搭建测试环境
5)熟练掌握各种数据库常识
6)精通软件测试实践与办法
7)把握罕用测试与开发工具的应用
8)优良的文档编写能力

软件测试的分类:
1)依照是否执行被测试软件来分:

动态测试:是指不运行软件,测试包含代码查看、动态构造剖析、代码品质度量等,次要对软件需要说明书、设计说明书、软件源代码进行查看与剖析。

动静测试:指通过运行被测程序,查看运行后果与预期后果的差别,剖析差别起因,并剖析软件运行效率、健壮性等性能。动静测试是目前公司次要的测试形式

2)依照测试技术分为黑盒测试和白盒测试:

黑盒测试:黑盒测试又叫功能测试或数据驱动测试,在齐全不思考程序内部结构和外部个性的状况下,通过软件的内部体现来发现其缺点和谬误。

白盒测试:白盒测试也称构造测试或逻辑驱动测试,它是依照程序外部的构造进行测试程序,通过测试来检测产品外部逻辑是否依照设计规格说明书的规定失常进行,测验程序中的每条通路是否都能按预约要求正确工作。

3)依照测试伎俩来分,能够分为手工测试和自动化测试

4)依照过程阶段来分,能够分为单元测试、集成测试、零碎测试和验收测试

单元测试:通过模块 (类 / 办法 / 函数) 测试,使代码达到设计要求 次要目标是针对编码过程中可能存在的各种谬误,例如用户输出验证过程中的边界值的谬误。

集成测试:将通过单元测试的模块逐渐组装成残缺的程序。次要目标是查看各单元与其它程序局部之间的接口是否存在问题,各模块性能之间是否有影响。

零碎测试:是将曾经确认的软件、计算机硬件、外设、网络等其余元素联合在一起进行测试。零碎测试是针对整个产品零碎进行的测试,目标是验证零碎是否满足了需要规格的定义,找出与需要规格不符或与之矛盾的中央,进行改过。

验收测试:验收测试是在软件产品实现了单元测试、集成测试和零碎测试之后,产品公布之前所进行的最初一次软件测试流动,也称为交付测试。通常由业务专家或用户进行,以确认产品能真正合乎用户业务上的须要。

软件开发流程(软件生命周期):

打算 -》需要剖析 -》设计 -》程序编写 -》测试 -》运行 / 保护

软件测试流程:

测试计划 -》需要剖析 -》测试用例 -》测试用例执行 -》提交 bug-》回归测试

软件开发模型:
软件测试工程师口试题带答案(二)
软件测试模型:
V 模型:反映了测试与开发阶段之间一一对应的特点,测试在开发之后,出错后回归测试量大。

软件测试工程师口试题带答案(二)

W 模型:测试随同整个开发周期,测试与开发同步进行,有利于尽早发现问题

软件测试工程师口试题带答案(二)

H 模型:软件测试流动齐全独立,与其余流程并行。

白盒测试方法
白盒测试方法有 语句笼罩、断定笼罩、条件笼罩、断定 / 条件笼罩、条件组合笼罩和门路笼罩。

1. 语句笼罩每条语句至多执行一次。

2. 断定笼罩每个断定的每个分支至多执行一次。

3. 条件笼罩每个断定的每个条件应取到各种可能的值。

4. 断定 / 条件笼罩同时满足断定笼罩条件笼罩。

5. 条件组合笼罩每个断定中各条件的每一种组合至多呈现一次。

6. 门路笼罩使程序中每一条可能的门路至多执行一次。

设计用例的办法、根据有那些?
测试分为白盒测试和黑盒测试,答复时,要留神离开说。白盒测试用例设计有如下办法:语句笼罩、断定笼罩、条件笼罩、断定 / 条件笼罩、条件组合笼罩和门路笼罩。根据就是代码构造。

黑盒测试用例设计办法:基于用户需要的测试、等价类划分办法、边界值分析方法、谬误揣测办法、因果图办法、断定表驱动分析方法、正交实验法、场景法。根据是用户需要规格说明书,具体设计说明书。

一个测试工程师应具备那些素质和技能?
一个好的测试工程师,不仅要根底扎实,对本身的性情、责任心都有十分高的要求。具体如下:(1)把握根本的测试基础理论 (2) 本着找出软件存在的问题的态度进行测试, 即主观吧, 不要以挑刺形象呈现 (3) 可纯熟浏览需要规格说明书等文档 (4) 以用户的观点对待问题 (5) 有着强烈的品质意识 (6) 仔细和责任心 (7) 良好的无效的沟通形式 (与开发人员及客户)(8) 具备以往的测试教训 (9) 可能及时精确地判断出高危险区在何处.

集成测试通常都有哪些策略?
大抵说四点即可,当然说全更好。集成测试有十种策略:(1)大爆炸集成 (2) 自顶向下集成 (3) 自底向上集成 (4) 三明治集成 (5) 分层集成 (6) 基干集成 (7) 基于性能的集成 (8) 基于音讯的集成 (9) 基于危险的集成 (10) 基于进度的集成.

什么是兼容性测试?兼容性测试偏重哪些方面?
兼容测试次要是查看软件在不同的硬件平台、软件平台上是否能够失常的运行,即是通常说的软件的可移植性。

兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。

兼容测试的重点是,对兼容环境的剖析。通常,是在运行软件的环境不是很确定的状况下,才须要做兼容。依据软件运行的须要,或者依据需要文档,个别都可能得出用户会在什么环境下应用该软件,把这些环境整顿成表单,就得出做兼容测试的兼容环境了。

我当初有个程序,发现在 Windows 上运行得很慢,怎么判断是程序存在问题还是软硬件零碎存在问题?
1、查看零碎是否有中毒的特色;

2、查看软件 / 硬件的配置是否合乎软件的举荐规范;

3、确认以后的零碎是否是独立,即没有对外提供什么耗费 CPU 资源的服务;

4、如果是 C / S 或者 B / S 构造的软件,须要查看是不是因为与服务器的连贯有问题,或者拜访有问题造成的;

5、在零碎没有任何负载的状况下,查看性能监视器,确认应用程序对 CPU/ 内存的拜访状况。

测试的策略有哪些?
黑盒 / 白盒,动态 / 动静,手工 / 主动,冒烟测试,回归测试,公测(Beta 测试的策略)

正交表测试用例设计办法的特点是什么?
用起码的试验笼罩最多的操作,测试用例设计很少,效率高,然而很简单;

对于根本的验证性能,以及二次集成引起的缺点,个别都能找进去;然而更深的缺点,更简单的缺点,还是无能为力的;

具体的环境下,正交表个别都很难做的。大多数,只在零碎测试的时候应用此办法。

形容应用 bugzilla 缺点管理工具对软件缺陷(BUG)跟踪的治理的流程?
详见 bugZilla 使用指南

在 Bugzilla 中,Bug 报告状态分为以下几种状态,

待确认的 unconfirmed

新提交的 new

已调配的 assigned

问题未解决的 reopened

待返测的 resolved

待归档的 verified

已归档的 closed
12345678910111213
Bug 处理意见(Resolution)

已批改的 fixed

不是问题 nvalid

无奈批改 wontfix

当前版本解决 later

保留 remind

反复 duplicate

无奈重现 workforme
12345678910111213
软件测试工程师口试题带答案(二)
你感觉 bugzilla 在应用的过程中,有什么问题?
界面不稳固;

依据须要配置它的不同的局部,过程很繁缛。

流程管制上,安全性不好界定,很容易对别人的 Bug 进行误操作;

没有综合的评分指标,不好确认修复的优先级别。

形容测试用例设计的残缺过程?
需要剖析 + 需要变更的保护工作;

依据需要 得出测试需要;

设计测试计划,评审测试计划;

计划评审通过后,设计测试用例,再对测试用例进行评审;

单元测试的策略有哪些?
单元的常见谬误个别呈现在以下五个方面,因而这五个方面是单元测试应该关注的重点。

1、单元接口。

2、部分数据结构。

3、独立门路。

4、出错解决。

5、边界条件

在单元测试时,因为单元自身不是一个独立的程序,一个残缺的可运行的软件系统并没有形成,所以须要设置一些辅助测试单元,辅助测试单元有两种,一种是驱动单元,另外一种是桩单元。

1、驱动单元(Driver): 用来模仿被测单元的下层单元,相当于被测函数的主函数,如 main 函数。所以驱动单元次要实现以下 4 个步骤:

(1)承受测试数据,蕴含测试用例输出和预期输入;

(2)把测试用例输出传送给被测单元,驱动被测单元测试;

(3)将被测单元的理论输入和预期输入进行比拟,失去测试后果;

(4)将测试后果输入到指定地位。

2、桩单元(Stub):用来代替被测单元工作过程中调用的子单元。

桩单元模仿的单元可能是自定义函数:这些自定义函数可能尚未编写实现,为了测试被测单元,须要结构桩单元来代替它们,可能存在谬误,会影响测试后果,所以须要结构正确无误的桩单元来达到隔离的目标。

驱动单元和桩单元都是额定的开销,尽管在单元测试的时候必须写,然而并不需要作为最终的产品提供给客户。

单元测试策略

个别的单元执行策略有三种:孤立的单元测试策略(Isolation Unit Testing),自顶向下的单元测试策略(Top Down Unit Testing)和自底向上的单元测试策略(Bottom Up Unit Testing)。须要留神的是:在集成测试中也有自顶向下和自底向上的测试策略,然而测试对象不同。

1、孤立的单元测试策略(Isolation Unit Testing)

办法:不思考每个模块与其它模块之间的关系,为每个模块设计桩模块和驱动模块,每个模块进行独立的单元测试。

长处:这个办法比较简单,最容易操作,能够达到很高的构造覆盖率,能够并行发展,该办法是纯正的单元测试。

毛病:桩函数和驱动函数工作量很大,效率低。

2、自顶向下的单元测试策略(Top Down Unit Testing)

办法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块,其次对第二层进行测试,应用下面曾经测试过的单元做驱动模块,以此类推,直到测试完所有模块。

长处:能够节俭驱动函数的开发工作,效率高。

毛病:随着被测单元一个一个被退出,测试过程将变得越来越简单,并且开发和保护的老本将减少。

3、自底向上的单元测试策略(Bottom Up Unit Testing)

办法:先对最底层的模块进行单元测试,将模仿调用该模块的模块设置为驱动模块,而后再对下面一层做单元测试,用上面曾经测试好的模块做桩模块,以此类推,直到测试完所有模块。

长处:能够节俭桩函数的开发工作量,测试效率较高。

毛病:不是纯正的单元测试,底层函数的测试品质对下层函数的测试将产生很大影响。

LoadRunner 分哪三局部?
脚本生成器;

场景控制器;

后果分析器。

LoadRunner 进行测试的流程?
1、测试设计

2、创立虚构用户脚本

3、创立运行场景

4、运行场景

5、监督场景

6、分析测试的后果

以上,最好是联合一个案例,依据以上流程来介绍。

什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?
在同一时间点,反对多个不同的操作。

LoadRunner 中提供 IP 假装,集合点,配合虚构用户的设计,以及在多台电脑上设置,能够比拟好的模仿实在的并发。

集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚构用户的操作的。集合点失败,则集合点的操作就会勾销,测试就不能进行。

TestDirector 有些什么性能,如何对软件测试过程进行治理?
需要治理

n 定义测试范畴

n 定义需要树

n 形容需要树的性能点

测试计划

n 定义测试指标和测试策略。

n 合成应用程序,建设测试计划树。

n 确定每个性能点的测试方法。

n 将每个性能点连贯到需要上,使测试计划笼罩全副的测试需要。

n 形容手工测试的测试步骤

n 指明须要进行自动测试的性能点

测试执行

n 定义测试汇合。

n 为每个测试人员制订测试工作和测试日程安排。

n 运行自动测试。

缺点跟踪

n 记录缺点

n 查看新增缺点,并确定哪些是须要修改的

n 相干技术人员批改缺点

n 回归测试

n 剖析缺点统计图表,剖析应用程序的开发品质。

你所相熟的软件测试类型都有哪些?请试着别离比拟这些不同的测试类型的区别与分割(如功能测试、性能测试……)?
Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和零碎的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行状况。

Functional testing (功能测试),也称为 behavioral testing(行为测试),依据产品特色、操作形容和用户计划,测试一个产品的个性和可操作行为以确定它们满足设计需要。本地化软件的功能测试,用于验证应用程序或网站对指标用户能正确工作。应用适当的平台、浏览器和测试脚本,以保障指标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
Performance testing(性能测试),评估一个产品或组件与性能需求是否合乎的测试。包含负载测试、强度测试、数据库容量测试、基准测试等类型。

一条软件缺陷(或者叫 Bug)记录都蕴含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
1. 和 BUG 对应的软件版本
2. 开发的接口人员,测试人员
3.BUG 的优先级
4.BUG 的重大水平
5.BUG 可能属于的模块
6.BUG 的题目
7.BUG 的形容
8.BUG 的截图
9.BUG 的状态
10.BUG 的谬误类型(数据,界面。。。。)

软件测试工程师口试题带答案(二)
Beta 测试与 Alpha 测试有什么区别?
Beta testing(β 测试), 测试是软件的多个用户在一个或多个用户的理论应用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α 测试), 是由一个用户在开发环境下进行的测试,也能够是公司外部的用户在模仿实际操作环境下进行的受控测试

软件的评审个别由哪些人加入?其目标是什么?
在正式的会议上将软件我的项目的成绩(包含各阶段的文档、产生的代码等)提交给用户、客户或无关部门人员对软件产品进行评审和批准。其目标是找出可能影响软件产品品质、开发过程、保护工作的适用性和环境方面的设计缺点,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改良。

人员:用户、客户或无关部门开发人员,测试人员,需要分析师都能够,就看处于评审那个阶段

阶段评审与我的项目评审有什么区别?
阶段评审对我的项目各阶段评审:对阶段成绩和工作

我的项目评审对我的项目总体评审:对工作和产品

什么是扇入?什么是扇出?
参考答案:

扇入:被调次数,扇出:调其它模块数目

什么是桩模块?什么是驱动模块?
桩模块:被测模块调用模块

驱动模块:调用被测模块

你认为做好测试计划工作的要害是什么?
软件测试打算就是在软件测试工作正式施行之前明确测试的对象,并且通过对资源、工夫、危险、测试范畴和估算等方面的综合剖析和布局,保障无效的施行软件测试;

做好测试计划工作的要害:目标,治理,标准

1、明确测试的指标,加强测试计划的实用性
编写软件测试打算得重要目标就是使测试过程可能发现更多的软件缺陷,因而软件测试打算的价值取决于它对帮忙治理测试项目,并且找出软件潜在的缺点。因而,软件测试打算中的测试范畴必须高度笼罩性能需要,测试方法必须切实可行,测试工具并且具备较高的实用性,便于应用,生成的测试后果直观、精确

2.保持“5W”规定,明确内容与过程
“5W”规定指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规定创立软件测试打算,能够帮忙测试团队了解测试的目标(Why),明确测试的范畴和内容(What),确定测试的开始和完结日期(When),指出测试的办法和工具(How),给出测试文档和软件的寄存地位(Where)。

3.采纳评审和更新机制,保障测试计划满足理论需要
测试计划写作实现后,如果没有通过评审,间接发送给测试团队,测试计划内容的可能不精确或脱漏测试内容,或者软件需要变更引起测试范畴的增减,而测试计划的内容没有及时更新,误导测试执行人员。

4、别离创立测试计划与测试具体规格、测试用例
应把具体的测试技术指标蕴含到独立创立的测试具体规格文档,把用于领导测试小组执行测试过程的测试用例放到独立创立的测试用例文档或测试用例治理数据库中。测试计划和测试具体规格、测试用例之间是策略和战术的关系,测试计划次要从宏观上布局测试流动的范畴、办法和资源配置,而测试具体规格、测试用例是实现测试工作的具体战术。

简述一下缺点的生命周期?
提交 -> 确认 -> 调配 -> 修复 -> 验证 -> 敞开

软件的安全性应从哪几个方面去测试?
(1)用户认证机制:如数据证书、智能卡、双重认证、平安电子交易协定

(2)加密机制

(3)平安防护策略:如平安日志、入侵检测、隔离防护、破绽扫描

(4)数据备份与复原伎俩:存储设备、存储优化、存储保护、存储管理

(5)防病毒零碎

软件配置管理工作发展的状况和意识?
软件配置管理贯通于软件开发、测试流动的始终,笼罩了开发、测试流动的各个环节,它的重要作用之一就是要全面的治理保留各个配置项,监控各配置项的状态,并向项目经理及相干的人员报告,从而实现对软件过程的管制。

软件测试配置管理包含 4 个最根本的流动:

配置项标识

配置项管制

配置项状态报告

配置审计

软件配置管理通常借助工具来辅助,次要有 MS SourceSafe、Rational ClearCase 等
1
你感觉软件测试通过的规范应该是什么样的?

缺点密度值达到客户的要求
1
引入测试治理的含意?
危险剖析,进度管制、角色调配、品质管制

一套残缺的测试应该由哪些阶段组成?
参考答案:测试计划、测试设计与开发、测试施行、测试评审与测试论断

单元测试的次要内容?
模块接口测试、部分数据结构测试、门路测试、错误处理测试、边界测试

集成测试也叫组装测试或者联结测试,请简述集成测试的次要内容?
(1)在把各个模块连接起来的时候,穿梭模块接口的数据是否会失落;

(2)一个模块的性能是否会对另一个模块的性能产生不利的影响;

(3)各个子性能组合起来,是否达到预期要求的父性能;

(4)全局数据结构是否有问题;

(5)单个模块的误差累积起来,是否会放大,从而达到不能承受的水平。

简述集成测试与零碎测试关系?
(1)集成测试的次要根据概要设计说明书,零碎测试的次要根据是需要设计说明书;

(2)集成测试是零碎模块的测试,零碎测试是对整个零碎的测试,包含相干的软硬件平台、网络以及相干外设的测试。

软件测试的文档测试该当贯通于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包含哪些?
用户手册

装置和设置领导

联机帮助

指南、向导

样例、示例和模板

受权 / 注册登记表

最终用户许可协定

软件系统中除用户文档之外,文档测试还应该关注哪些文档?
开发文档

软件需要说明书

数据库设计说明书

概要设计说明书

具体设计说明书

可行性研究报告
1234567
治理文档

我的项目开发计划

测试计划

测试报告

开发进度月报

开发总结报告
123456789
简述软件系统中用户文档的测试要点?
(1)读者群。文档面向的读者定位要明确。对于高级用户、中级用户以及高级用户应该有不同的定位

(2)术语。文档中用到的术语要实用与定位的读者群,用法统一,规范定义与业界标准相吻合。

(3)正确性。测试中需查看所有信息是否实在正确,查找因为过期产品说明书和销售人员夸张事实而导致的谬误。查看所有的目录、索引和章节援用是否已更新,尝试链接是否精确,产品反对电话、地址和邮政编码是否正确。

(4)完整性。对照软件界面查看是否有重要的分支没有形容到,甚至是否有整个大模块没有形容到。

(5)一致性。依照文档形容的操作执行后,查看软件返回的后果是否与文档形容的雷同。

(6)易用性。对关键步骤以粗体或背景色给用户以提醒,正当的页面布局、适量的图表都能够给用户更高的易用性。须要留神的是文档要有助于用户排除谬误。岂但形容正确操作,也要形容错误处理方法。文档对于用户看到的错误信息该当有更具体的文档解释。

(7)图表与界面截图。查看所有图表与界面截图是否与发行版本雷同。

(8)样例与示例。像用户一样载入和应用样例。如果是一段程序,就输出数据并执行它。以每一个模块制作文件,确认它们的正确性。

(9)语言。不呈现错别字,不要呈现有二义性的说法。特地要留神的是屏幕截图或绘制图形中的文字。

(10)印刷与包装。查看印刷品质;手册厚度与开本是否适合;包装盒的大小是否适合;有没有系统易失落的小部件等等。

单元测试次要内容是什么?
单元测试大多数由开发人员来实现,测试人员技术背景较好或者开发系统软件时可能会安顿测试人员进行单元测试,大多数进行的单元测试都是开发人员调试程序或者开发组零碎联结调试的过程。探讨这个问题次要是裁减一下读者的视线。

单元测试个别包含五个方面的测试:

(1)模块接口测试:模块接口测试是单元测试的根底。只有在数据能正确流入、流出模块的前提下,其余测试才有意义。模块接口测试也是集成测试的重点,这里进行的测试次要是为前面打好根底。测试接口正确与否应该思考下列因素:

- 输出的理论参数与形式参数的个数是否雷同;

- 输出的理论参数与形式参数的属性是否匹配;

- 输出的理论参数与形式参数的量纲是否统一;

- 调用其余模块时所给理论参数的个数是否与被调模块的形参个数雷同;

- 调用其余模块时所给理论参数的属性是否与被调模块的形参属性匹配;

- 调用其余模块时所给理论参数的量纲是否与被调模块的形参量纲统一;

- 调用预约义函数时所用参数的个数、属性和秩序是否正确;

- 是否存在与以后入口点无关的参数援用;

- 是否批改了只读型参数;

- 对全程变量的定义各模块是否统一;

- 是否把某些束缚作为参数传递。

如果模块性能包含内部输入输出,还应该思考下列因素:

- 文件属性是否正确;

-OPEN/CLOSE 语句是否正确;

- 格局阐明与输入输出语句是否匹配;

- 缓冲区大小与记录长度是否匹配;

- 文件应用前是否曾经关上;

- 是否解决了文件尾;

- 是否解决了输出 / 输入谬误;

- 输入信息中是否有文字性谬误。

- 部分数据结构测试;

- 边界条件测试;

- 模块中所有独立执行通路测试;

(2)部分数据结构测试:查看部分数据结构是为了保障长期存储在模块内的数据在程序执行过程中残缺、正确,部分性能是整个性能运行的根底。重点是一些函数是否正确执行,外部是否运行正确。部分数据结构往往是谬误的本源,应认真设计测试用例,力求发现上面几类谬误:

- 不适合或不相容的类型阐明;

- 变量无初值;

- 变量初始化或省缺值有错;

- 不正确的变量名(拼错或不正确地截断);

- 呈现上溢、下溢和地址异样。

(3)边界条件测试:边界条件测试是单元测试中最重要的一项工作。家喻户晓,软件常常在边界上生效,采纳边界值剖析技术,针对边界值及其左、右设计测试用例,很有可能发现新的谬误。边界条件测试是一项根底测试,也是前面零碎测试中的功能测试的重点,边界测试执行的较好,能够大大提高程序健壮性。

(4)模块中所有独立门路测试:在模块中应答每一条独立执行门路进行测试,单元测试的根本工作是保障模块中每条语句至多执行一次。测试目标次要是为了发现因错误计算、不正确的比拟和不适当的控制流造成的谬误。具体做法就是程序员逐条调试语句。常见的谬误包含:

- 误会或用错了算符优先级;

- 混合类型运算;

- 变量初值错;

- 精度不够;

- 表达式符号错。

比拟判断与控制流经常严密相干,测试时留神下列谬误:

- 不同数据类型的对象之间进行比拟;

- 谬误地应用逻辑运算符或优先级;

- 因计算机示意的局限性,冀望实践上相等而实际上不相等的两个量相等;

- 比拟运算或变量出错;

- 循环终止条件或不可能呈现;

- 迭代发散时不能退出;

- 谬误地批改了循环变量。

模块的各条错误处理通路测试:程序在遇到异常情况时不应该退出,好的程序应能预感各种出错条件,并预设各种出错解决通路。如果用户不依照失常操作,程序就退出或者进行工作,实际上也是一种缺点,因而单元测试要测试各种错误处理门路。个别这种测试着重查看下列问题:

- 输入的出错信息难以了解;

- 记录的谬误与理论遇到的谬误不相符;

- 在程序自定义的出错解决段运行之前,零碎已染指;

- 异样处理不当;

- 谬误陈说中未能提供足够的定位出错信息。

如何了解强度测试?
强度测试是为了确定零碎在最差工作环境的工作能力, 也可能是用于验证在规范工作压力下的各种资源的最上限指标。

它和压力测试的指标是不同的, 压力测试是在规范工作环境下, 一直减少零碎负荷, 最终测试出该零碎能力达到的最大负荷(稳固和峰值), 而强度测试则是在非标准工作环境下, 甚至一直人为升高零碎工作环境所须要的资源, 如网络带宽, 零碎内存, 数据锁等等, 以测试零碎在资源有余的状况下的工作状态, 通过强度测试, 能够确定本零碎失常工作的最差环境.

强度测试和压力测试的测试指标相近, 大多都是与工夫相干的指标, 如并发量 (吞吐量), 提早(最大 \ 最小 \ 均匀) 以及程序指标等

强度测试须要对系统的构造相熟, 针对零碎的特色设计强度测试的办法

如何了解压力、负载、性能测试测试?
性能测试是一个较大的范畴,实际上性能测试自身蕴含了性能、强度、压力、负载等多方面的测试内容。

压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平时的测试。增大拜访零碎的用户数量、或者几个用户进行大数据量操作都是压力测试。而负载测试是压力绝对较大的测试,次要是测试零碎在一种或者集中极限条件下的相应能力,是性能测试的重要局部。100 个用户对系统进行间断半个小时的拜访能够看作压力测试,那么间断拜访 8 个小时就能够认为负载测试,1000 个用户间断拜访零碎 1 个小时也能够看作是负载测试。

实际上压力测试和负载测试没有显著的辨别。测试人员应该站在关注整体性能的高度上来对系统进行测试。

什么是零碎瓶颈?
瓶颈次要是指整个软硬件形成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求,“特定”是指瓶颈会在某些条件下会呈现,因为毕竟大多数零碎在投入前。

严格的从技术角度讲,所有的零碎都会有瓶颈,因为大多数零碎的资源配置不是协调的,例如 CPU 使用率刚好达到 100%时,内存也正好耗尽的零碎不是很多见。因而咱们探讨零碎瓶颈要从利用的角度探讨:要害是看零碎是否满足用户需要。在用户极限应用零碎的状况下,零碎的响应依然失常,咱们能够认为改零碎没有瓶颈或者瓶颈不会影响用户工作。

因而咱们测试零碎瓶颈次要是实现上面两个目标:

- 发现“外表”的瓶颈。次要是模仿用户的操作,找出用户极限应用零碎时的瓶颈,而后解决瓶颈,这是性能测试的根本指标。

- 发现潜在的瓶颈并解决,保证系统的长期稳定性。次要是思考用户在未来扩大零碎或者业务发生变化时,零碎可能适应变动。满足用户目前需要的零碎不是最好的,咱们设计零碎的指标是在保证系统整个软件生命周期可能一直适应用户的变动,或者通过简略扩大零碎就能够适应新的变动。

文档测试次要蕴含什么内容?
在国内软件开发治理中,文档治理简直是最弱的一项,因此在测试工作中特地容易疏忽文档测试也就难能可贵了。要想给用户提供残缺的产品,文档测试是必不可少的。文档测试个别重视上面几个方面:

文档的完整性:次要是测试文档内容的全面性与完整性,从总体上把握文档的品质。例如用户手册应该包含软件的所有功能模块。

形容与软件理论状况的一致性:次要测试软件文档与软件理论的统一水平。例如用户手册根本残缺后,咱们还要留神用户手册与理论性能形容是否统一。因为文档往往跟不上软件版本的更新速度。

易了解性:次要是查看文档对要害、重要的操作有无图文阐明,文字、图表是否易于了解。对于要害、重要的操作仅仅只有文字说明必定是不够的,应该附有图表使阐明更为直观和明了。

文档中提供操作的实例:这项查看内容次要针对用户手册。对次要性能和要害操作提供的利用实例是否丰盛,提供的实例形容是否具体。只有简略的图文阐明,而无实例的用户手册看起来就像是软件界面的简略拷贝,对于用户来说,实际上没有什么帮忙。

印刷与包装品质:次要是查看软件文档的商品化水平。有些用户手册是简略打印、装订而成,过于毛糙,不易于用户保留。优良的文档例如用户手册和技术白皮书,应提供商品化包装,并且印刷精美。

配置和兼容性测试的区别是什么?
配置测试的目标是保障软件在其相干的硬件上可能失常运行,而兼容性测试次要是测试软件是否与不同的软件正确合作。

配置测试的核心内容就是应用各种硬件来测试软件的运行状况,个别包含:

(1)软件在不同的主机上的运行状况,例如 Dell 和 Apple;

(2)软件在不同的组件上的运行状况,例如开发的拨号程序要测试在不同厂商生产的 Modem 上的运行状况;

(3)不同的外设;

(4)不同的接口;

(5)不同的可选项,例如不同的内存大小;

兼容性测试的核心内容:

(1)测试软件是否能在不同的操作系统平台上兼容;

(2)测试软件是否能在同一操作系统平台的不同版本上兼容;

(3)软件自身是否向前或者向后兼容;

(4)测试软件是否与其它相干的软件兼容;

(5)数据兼容性测试,次要是指数据是否共享;

配置和兼容性测试通称对开发零碎类软件比拟重要,例如驱动程序、操作系统、数据库管理系统等。具体进行时依然依照测试用例来执行。

软件文档测试次要蕴含什么?
随着软件文档零碎日益宏大,文档测试曾经成为软件测试的重要内容。文档测试对象次要如下:

- 包装文字和图形;

- 市场宣传材料、广告以及其它插页;

- 受权、注册登记表;

- 最终用户许可协定;

- 装置和设置向导;

- 用户手册;

- 联机帮助;

- 样例、示范例子和模板;

-……

文档测试的目标是进步易用性和可靠性,升高反对费用,因为用户通过文档就能够本人解决问题。因文档测试的查看内容次要如下:

- 读者对象——次要是文档的内容是否能让该级别的读者了解;

- 术语——次要是查看术语是否适宜读者;

- 内容和主题——查看主题是否适合、是否失落、格局是否标准等;

- 图标和屏幕抓图——查看图表的准确度和精确度;

- 样例和示例——是否与软件性能统一;

- 拼写和语法;

- 文档的关联性——是否与其它相干文档的内容统一,例如与广告信息是否统一;

文档测试是相当重要的一项测试工作,岂但要给予充沛的器重,更要要认真的实现,象做功能测试一样来看待文档测试。

没有产品说明书和需要文档地状况下可能进行黑盒测试吗?
这个问题是国内测试工程师常常遇到的问题,本源就是国内软件开发文档治理不标准,对变更的治理办法就更不合理了。实际上没有任何文档的时候,测试人员是可能进行黑盒测试的,这种测试形式咱们能够称之为摸索测试,具体做法就是测试工程师依据本人的专业技能、畛域常识等一直的深刻理解测试对象、了解软件性能,进而发现缺点。

在这种做法基本上把软件当成了产品说明书,测试过程中要和开发人员一直的进行交换。尤其在作我的项目的时候,进度压力比拟大,能够作为加急测试计划。最大的危险是不晓得有些个性是否被脱漏。

3 测试中的“杀虫剂怪事”是指什么?

“杀虫剂怪事”一词由 BorisBeizer 在其编著的《软件测试技术》第二版中提出。用于形容测试人员对同一测试对象进行的测试次数越多,发现的缺点就会越来越少的景象。就像老用一种农药,害虫就会有免疫力,农药施展不了效劳。这种景象的根本原因就是测试人员对测试软件过于相熟,造成思维定势。

为了克服这种景象,测试人员须要一直编写新的测试程序或者测试用例,对程序的不同局部进行测试,以发现更多的缺点。也能够援用新人来测试软件,刚刚进来的老手往往能发现一些意想不到的问题。

在配置测试中,如何判断发现的缺点是一般问题还是特定的配置问题?
在进行配置测试时,测试工程师依然会发现一些一般的缺点,也就是与配置环境无关的缺点。因而判断新发现的问题,须要在不同的配置中从新执行发现软件缺陷的步骤,如果软件缺陷不呈现了,就可能是配置缺点;如果在所有的配置中都呈现,就可能是一般缺点。

须要留神的是,配置问题能够在一大类配置中呈现。例如,拨号程序可能在所有的外置 Modem 中都存在问题,而内置的 Modem 不会有任何问题。

齐全测试程序是可能的吗?
软件测试初学者可能认为拿到软件后须要进行齐全测试,找到全副的软件缺陷,使软件“零缺点”公布。实际上齐全测试是不可能的。次要有以下一个起因:

- 齐全测试比拟耗时,工夫上不容许;

- 齐全测试通常意味着较多资源投入,这在事实中往往是行不通的;

- 输入量太大,不能一一进行测试;

- 输入后果太多,只能分类进行验证;

- 软件实现路径太多;

- 软件产品说明书没有主观规范,从不同的角度看,软件缺陷的规范不同;

因而测试的水平要依据理论状况确定。

软件测试的危险次要体现在哪里?
咱们没有对软件进行齐全测试,理论就是抉择了危险,因为缺点极有可能存在没有进行测试的局部。举个例子,程序员为了不便,在调试程序时会弹出一些提示信息框,而这些提醒只在某种条件下会弹出,碰巧程序公布前这些代码中的一些没有被正文掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价低廉的缺点,因为交付后才被客户发现。

因而,咱们要尽可能的抉择最合适的测试量,把危险升高到最小。

发现的缺点越多,阐明软件缺陷越多吗?
这是一个比拟常见的景象。测试工程师在没有找到缺点前会搜索枯肠的思考,然而找到一个后,会接踵而至的发现很多缺点,颇有集体成就感。其中的起因次要如下:

- 代码复用、拷贝代码导致程序员容易犯雷同的谬误。类的继承导致所有的子类会蕴含基类的谬误,重复拷贝同一代码象征可能也复制了缺点。

- 程序员比拟操劳是能够导致某些间断编写的性能缺点较多。程序员加班是一种司空见惯的景象,因而膂力不只时容易编写一些缺点较多的程序。而这些间断埋伏缺点恰好时测试工程师大显神通的中央。

“缺点一个连着一个”不是一个客观规律,只是一个常见的景象。如果软件编写的比拟好,这种景象就不常见了。测试人员只有严肃认真的测试程序就能够了。

所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?
从技术上讲,所有的软件缺陷都是可能修复的,然而没有必要修复所有的软件缺陷。测试人员要做的是可能正确判断什么时候不能谋求软件的完满。对于整个我的项目团队,要做的是对每一个软件缺陷进行取舍,依据危险决定那些缺点要修复。产生这种景象的次要起因如下:

- 没有足够的工夫资源。在任何一个我的项目中,通常状况下开发人员和测试人员都是不够用的,而且在我的项目中没有估算足够的回归测试工夫,再加上批改缺点可能引入新的缺点,因而在交付期限的弱小压力下,必须放弃某些缺点的批改。

- 有些缺点只是非凡状况下呈现,这种缺点处于商业利益思考,能够在当前降级中进行修复。

- 不是缺点的缺点。咱们常常会碰到某些性能方面的问题被当成缺点来解决,这类问题能够当前有工夫时思考再解决。

最初要说的是,缺点是否批改要由软件测试人员、项目经理、程序员独特探讨来决定是否修复,不同角色的人员从不同的角度来思考,以做出正确的决定。

软件测试人员就是 QA 吗?
软件测试人员的职责是尽可能早的找出软件缺陷,确保得以修复。而质量保证人员(QA)主要职责是创立或者制订规范和办法,进步促成软件开发能力和缩小软件缺陷。测试人员的次要工作是测试,质量保证人员日常工作重要内容是查看与评审,测试工作也是测试保障人员的工作对象。

软件测试和品质是相辅相成的关系,都是为了进步软件品质而工作。

如何缩小测试人员跳槽带来的损失?
在 IT 行业里跳槽曾经是一种司空见惯的景象,而且跳槽无论给公司还是给集体都会带来肯定的损失。测试队伍也无疑会面临跳槽的威逼,作为测试经理管理者,只有从日常工作中开始做起,最能最大限度的缩小损失。倡议咱们从以下两个方面做起:

- 增强部门内员工之间的互相学习,互相学习是建设学习型组织的根本要求,是常识相互转移的过程。在此基础上,能够把集体领有的技术以常识的模式沉积下来,也就实现了隐性常识到显性常识的转化。

- 通常状况下,企业能为员工提供足够大的倒退空间时,如果不是待遇特地低,员工都不会被动来到企业。因而咱们要想留住员工,管理者就应该把员工的个人成长和企业的倒退分割起来,为员工设定正当倒退布局并付诸实现。不过这项要求做起来比拟,要有比拟好的企业文化为依靠.

以 windows 对文件的复制粘帖性能为例,尽可能多地写出测试思路
1、根本功能测试:文件的复制粘贴性能,首先关键字“文件”,文件有不同的分类(图片、视频、音频、文档等),每个分类又有不同的类型(文档类型:txt doc execl pdf 等),每个文件又有不同的大小,而且文件还有很多权限,是不是暗藏,是不是只是管理员可执行。抉择不同分类的不同类型,不同大小的文件做测试资源。比方:文档类型外面 txt 文件能够分为 1.KB 的 txt 文件、1MB 的 txt 文件、1GB 的 txt 文件。。。。
下一个关键字 复制粘贴 复制有多种形式 右击抉择、Ctrl+C、拖动复制,对应粘贴也有各种形式。而后从哪复制,粘贴到哪,比方 能够有本机硬盘、移动硬盘、优盘、内存卡、软盘、光盘、连贯手机存储,复制到网络地址等等。复制粘贴后文件是不是可用,文件权限是不是有变动。复制过来容量不够怎么解决?复制过后有重名文件怎么解决?复制过程中勾销、关机、拔优盘怎么解决?复制过程能不能执行文件?

2. 性能测试:复制粘贴性能性能怎么样?复制文件的速度可不可以承受?同时复制多个文件是不是能够实现? 复制文件过程中占用 CPU 资源大不大,耗电量大不大?

3. 兼容性测试 Windows XP, Windows 7, Windows 8 , Windows 8.1, Windows 10 等各种 windos 版本是不是都反对这个性能。

4. 交互测试; 复制粘贴文件时,应用 windows 存储的其余性能是否有影响?比方播放本地的音频、视频、等同时复制文件是不是有影响。一边复制,一边粘贴是不是有影响。

粘贴的稳定性:粘贴完了大小会不会变动,内容格局会不会变动,粘贴不上,误操作当前还能不能找到复制的内容等

粘贴的安全性:粘贴的内容粘贴好了当前会不会存在别处泄露等

2. 性能测试:(1)工夫:复制粘贴的响应工夫?页面的显示工夫?(2)负载:多次重复进行复制粘贴是否有异样?复制粘贴容量很大的一个或多个文件是否能接受?(3)强度:保障容量足够的条件下,别离复制粘贴 50GB,100GB,500GB,…大小的文件,看什么时候呈现失败,失败后的体现,是否从新失常复制粘贴 50G?(4)容量:在不同 CPU 资源条件下,继续复制粘贴 5 分钟,最多能复制粘贴多少容量的文件?

5. 界面测试:复制粘贴时进度条的显示界面是否与零碎的设计格调统一?显示界面是否有文字性谬误?显示界面的布是否正当?界面上的按钮是否可用(如:是否能够抉择停止?是否可用最小化?)

6. 本地化测试:不同语言环境下的显示失常

7. 辅助性测试:高对比度下是否显示失常

登录界面测试用例设计
一、界面测试点:

1、界面的设计格调是否与 UI 的设计格调对立;

2、界面中的文字简洁易懂;

3、界面中没有错别字;

二、用户名与明码在输出时,要思考:

1、正确的用户名与正确的明码;

2、正确的用户名与谬误的明码;

3、谬误的用户名与正确的明码;

4、谬误的用户名与谬误的明码;

5、空的用户名和空的明码;

6、正确的用户名和空的明码;

7、空的用户名和正确的明码;

8、用户名的前 / 中 / 后含有空格;

9、明码的前 / 中 / 后含有空格;

10、用户名与明码应用的字符范畴及位数限度的测试(等价类及边界值,会用到强制的复制与粘贴来实现不容许输出的字符,以及一些保留字的测试);

11、牵扯到验证码的,还要思考文字是否扭曲适度导致识别难度大,思考色彩(色盲使用者),刷新或换一个按钮是否好用;

三、安全性测试:

1、明码是否荫蔽显示;

软件测试工程师口试题带答案(二)
3、不能间接输出,就 copy,是否数据测验出错;

还要精确定位每一个输入框的性能,每一种谬误状况下,呈现的谬误提醒要精确或者适合。

四、兼容性测试:

1. 不同浏览器测试
2. 浏览器不同版本测试
12
五、其余测试点:

1、输入框之间思考 tab 键是否反对;

2、登录按钮要思考回车键是否反对;

3、勾销后的默认地位(个别为空白的用户名输入框);

4、登录后的跳转页面是否正确(个别为首页);

5、要思考屡次点击登录和勾销按钮的界面反馈;

6、思考是否反对多用户在同一机器上登录;

7、思考一用户在多台机器上登录;

8、登录页面中的注册等链接是否正确

软件测试口试题
选择题
一、数量关系
1、甲乙 2 人较量爬楼梯,已知每层楼梯雷同,速度不变,当甲到 3 层时,乙到 2 层,照这样计算,当甲到 9 层时,乙到(D) 层
A.5 B.6 C.7 D.8

2、有一份选择题试卷共 6 个小题,其得分规范是:一道小题答对得 8 分,答错得 0 分,不答得 2 分,某位同学得了 20 分,则他(D)
A. 至少答对一道题 B. 至多有三个小题没答 C. 至多答对三个小题 D. 答错两小题

3、有只蜗牛要从一口井底爬出来。井深 20 尺。蜗牛每天白天向上爬 3 尺,早晨向下滑 2 尺。请问该蜗牛几天能力爬出井口?(A)
A.20 B.19 C.18 D.15

4、下列哪一个计算结果最靠近 1.25×8 的值?A
A.3.3×3 B. 1.7×6 C. 1.6×6 D. 2.1×5

软件测试工程师口试题目
一.选择题

1、零碎测试应用(C)技术, 次要测试被测利用的高级互操作性需要, 而无需思考被测试利用的内部结构。

A、单元测试 B、集成测试 C、黑盒测试 D、白盒测试

2、单元测试次要的测试技术不包含(B)。

A、白盒测试 B、功能测试

C、动态测试 D、以上都不是

3、(A)的目标是对最终软件系统进行全面的测试,确保最终软件系统满足产品需要并且遵循零碎设计。

A、零碎测试 B、集成测试

C、单元测试 D、功能测试

4、如果一个产品中次重大的缺点根本实现修改并通过复测,这个阶段的成品是(A)。

A、Alpha 版 B、Beta 版

C、正版 D、以上都不是

5、自底向上法须要写(A)。

A、驱动程序 B、桩程序 C、驱动程序和桩程序 D、. 以上都不是

6、测试 ATM 取款性能,已知取款数只能输出正整数,每次取款数要求是 100 的倍数且不能大于 500,上面哪个是正确的有效等价类(C)

A、(0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

B、(500,+∞)

C、(500,+∞)、任意大于 0 小于 500 的非 100 倍数的整数;

D、(-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

7、因果图 / 断定表工程办法在以下那种状况下不实用(C)

A、输入输出明确,或输入输出因果关系明确的状况下

B、被剖析的个性或性能点简单,输出我的项目很多的状况下

C、零碎输出之间互相束缚多,须要做大范畴的组合测试状况下

D、零碎输出之间根本没有互相分割

8、以下说法不正确的是(D)

A、测试原始须要明确了产品将要实现了什么

B、产品测试规格明确了测试设计内容

C、测试用例明确了测试实现内容

D、以上说法均不正确

9、可测试性中,无关零碎可察看性的了解,上面说法那个是谬误的(B)

A、零碎所有的输入后果可察看,谬误输入易于辨认;

B、零碎运行状态和外部解决的过程信息可察看;

C、零碎外部变量名及其取值可察看;

D、零碎外部重要对象的状态和属性可察看;

E、零碎外部重要的操作的解决工夫可察看;

F、零碎外部重要的资源的占用状况及单个资源的创立、放弃、开释过程可察看

10、测试脚本的编写标准强调:(ABCD)

A、可读行 B、可重用性 C、可维护性 D、可移植性

11、当继承某个个性是,通常会从哪些角度对该个性进行测试剖析?(AC)

A、生效影响度 B、成熟度 C、继承形式 D、用户原始需要

12、从下列对于软件测试的叙述中,选出正确的叙述(CD)

A、用黑盒法测试时,测试用例是依据程序外部逻辑设计的

B、测试的目标是验证该软件已正确的实现了用户的要求

C、发现错误多的程序块,残留在模块中的谬误也多

D、测试设计时,应充分考虑异样的输出状况

13、软件验收测试的合格通过准则是:(ABCD)

A. 软件需要剖析说明书中定义的所有性能已全副实现,性能指标全副达到要求。

B. 所有测试项没有残余一级、二级和三级谬误。

C. 立项审批表、需要剖析文档、设计文档和编码实现统一。

D. 验收测试工件齐全。

14、软件测试打算评审会须要哪些人员加入?(ABCD)

A.项目经理

B.SQA 负责人

C.配置负责人

D.测试组

15.测试设计员的职责有:(BC)

A.制订测试计划

B.设计测试用例

C.设计测试过程、脚本

D.评估测试流动

16.软件施行流动的进入准则是:(ABC)

A.需要工件曾经被基线化

B.具体设计工件曾经被基线化

C.构架工件曾经被基线化

D.我的项目阶段成绩曾经被基线化

二、判断题

1. 软件测试的目标是尽可能多的找出软件的缺点。(Y)

2. 负载测试是验证要测验的零碎的能力最高能达到什么水平。(N)

3. 测试人员要坚持原则,缺点未修复完坚定不予通过。(N)

4. 自动化测试能比手工测试发现更多的缺点(N)

谬误猜测法基于这样一种假如,以前犯过的谬误,当前同样会犯,我犯过的谬误他人同样会犯,前人犯过的谬误,前人同样会犯(N)
软件测试中的二八准则暗示着测试发现的谬误中的 80% 很可能起源于程序模块的 20%(Y)
某 WEB 零碎设计中,用户点击“退出”按钮从零碎中退出,界面回到初始登陆界面。此时不敞开窗口,应用浏览器的回退性能,能够回到之前的用户界面,持续进行用户操作。这种适合的人性化设计,恩那个防止用户误点击退出按钮后从新登录的繁琐操作;这种说法是否正确(N)
8. 在确定性能测试指标值时,参考的国际标准、国标、运营商标准中对此要求并不一样,能够视状况抉择有利于咱们的指标值,但必须要比竞争对手高,这样才有利于市场竞争力(N)

9. 测试执行时,应该对每一个测试后果做全面的查看,包含日志,这种说法是否正确(N)

口试题有三份,别离考 python、SQL、java 和计算机网络 Linux 命令等基础知识。

python 局部

1、选择题

第 1 题,下列选项中,python 不反对的数据类型有(B)
python 中没有字符类型,只有字符串类型 string

A、int B、char C、float D、dictionary

第 2 题,下列 Python 语句正确的是(D
考简略的 python 语句是否有错。依照语法就能够了

A. min = x if x < y else y B. max = x > y ? x : y

C. if(x > y) print x D. while True :pass(while 前面加分号,pass 语句空语句,不做任何事件)

2、简答题

一、a = 1,b = 2。不必两头变量替换 a 和 b 的值(同理,替换列表也一样)
a,b = b,a
二、s =”ajldjlajfdljfddd”,去重并从小到大排序输入 “adfjl”
办法 1

因为数据类型 set 自身具备无序,惟一值的个性,能够用内置函数 set 对字符串和列表进行去重

s =”ajldjlajfdljfddd”

s1 = set(s) #去重

s2 = list(s1) #转为列表

s2.sort() #排序,留神没有返回值

s3 = ”.join(s2) #列表转字符串

print(s3) #输入
办法 2

s =”ajldjlajfdljfddd”

s1 = set(s) #去重

s2 = list(s1) #转为列表

s3 = sorted(s2) #排序

s4 = ”.join(s3) #列表转字符串

print(s4) #输入
办法 3,一行代码搞掂,相熟的话应该很容易写。

s =”ajldjlajfdljfddd”

s1 =”.join(sorted(list(set(s))))

print(s1)
三、用至多三种办法从字符串 ”hello boy<[www.doiido.com]>byebye” 中提取字符串 ’www.doiido.com’
①应用切片法截取字符串。切片语法:[起始:完结:步长],** 步长默认为 1,可为正数,切片区间左闭右开

str = “hello boy<[www.doiido.com]>byebye”

print(str[11:25:1]) #第一个 w 第 11 位,最初 m 第 24 位,留神切片区间左闭右开
输入:

www.doiido.com
②应用 split 函数。

语法:str.split(str=””, num=string.count(str))[n]
参数:str 默认为空格
num 为宰割次数
[n] 示意取第 n 个分片,可不写则不取,下标同样从零开始
返回值:宰割后的字符串列表(列表元素 = 宰割次数 num+1)

思路:

  1. 网址在 [] 外面,用第一个 [ 将字符串分隔成列表 str.split(“[“)

[‘hello boy<‘, ‘www.doiido.com]>byebye’]

  1. 再取列表里的索引为 1 的元素 str.split(“[“)[1]

www.doiido.com]>byebye

  1. 再用分隔符]将列表分隔开 str.split(“[“)[1].split(“]”)

[‘www.doiido.com’, ‘>byebye’]

  1. 再取第一个元素 str.split(“[“)[1].split(“]”)[0]

www.doiido.com
代码:

str = “hello boy<[www.doiido.com]>byebye”

print(str.split(“[“)[1].split(“]”)[0])# 是先输入 [后的内容 以及] 前的内容,下标从 0 开始
输入:

www.doiido.com
③应用 replace 函数

* 语法:str.replace(old, new[, max])
参数
1.old — 这是要进行更换的旧子串。
2.new — 这是新的子串,将取代旧的子字符串。
3.max — 如果这个可选参数 max 值给出,就只代替 max 个,除 max 个外若还有 old 值,也不代替。
返回值:把新的子串取代旧的子串后,造成的新的字符串。
留神:并不返回原字符串里,请赋给一个新的 string。*

思路:

  1. 网址在 w 之前的字符串用空格替换掉 str.replace(‘hello boy<[‘,”)

www.doiido.com]>byebye

  1. 网址在 m 前面的字符串用空格替换掉 str1.replace(‘]>byebye’,”)

www.doiido.com
代码:

str = “hello boy<[www.doiido.com]>byebye”

str1 = str.replace(‘hello boy<[‘,”)# 删除网址之前的字符串

print(str1.replace(‘]>byebye’,”))# 删除网址之后的字符串
输入:

www.doiido.com
④目前到这里。。。可能还有其余的函数楼主还没想到

四、读取 testA.txt 的内容,去掉文件中的空格,写入到 testB.txt 中。
语法:

1、关上文件或者新建一个文件(不指定拜访形式,默认只读形式关上文件)

2、读 / 写数据

3、敞开文件

代码:

f1 = open(‘testA.txt’,’w’) #新建 testA.txt

f1.write(‘I am Quality Testing Engineer’)# 往 testA.txt 写数据

f1.close()# 敞开文件

f2 = open(‘testA.txt’,’r’)# 读模式

content = f2.read()# 读 testA.txt 数据

str = content.replace(” “,””)# 把数据中的空格全副去掉

f3 = open(‘testB.txt’,’w’)# 新建 testB.txt

f3.write(str)# 往 testB.txt 写数据

f2.close()# 敞开文件

f3.close()# 敞开文件
看看运行后 py 文件目录下的后果:

软件测试工程师口试题带答案(二)
胜利。留神读之前肯定要敞开文件,否则读取会失败。能够删除 f1.close()这一行代码试一试(运行后 testB.txt 内容为空)。

五、浏览上面的代码,写出 A0,A1 至 An 的值。
A0 = dict(zip((‘a’,’b’,’c’,’d’,’e’),(1,2,3,4,5))) #先 zip 返回对象,再 dict 转字典

A1 = range(10) #即 range(0,10,1)

A2 = [i for i in A1 if i in A0] #即[i for i in range(10) if i in A0],A0 与 A1 交加

A3 = [A0[s] for s in A0] #即 [A0[s] for s in A0.keys()],A0[s] 字典晓得键通过下标取值

A4 = [i for i in A1 if i in A3] #即 既满足 A1,又满足 A3,A1 和 A3 交加

A5 = {i:ii for i in A1} #即{i:ii for i in range(10)},字典键值对

A6 = [[i,ii] for i in A1] #即[[i:ii] for i in range(10)],列表元素又是列表

print(‘A0:’,A0)

print(‘A1:’,A1)

print(‘A2:’,A2)

print(‘A3:’,A3)

print(‘A4:’,A4)

print(‘A5:’,A5)

print(‘A6:’,A6)
话不多说,马上看看后果

A0: {‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5}

A1: range(0, 10)

A2: []

A3: [1, 2, 3, 4, 5]

A4: [1, 2, 3, 4, 5]

A5: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

A6: [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]
剖析:考查列表推导式,详情见 Python 列表推导式

A0:zip 函数作用,dict 函数作用。# 先 zip 返回对象,再 dict 转字典

A1:range 函数作用。# 即 range(0,10,1)

A2:for if 用法。# 即[i for i in range(10) if i in A0],A0 与 A1 交加

A3:取字典元素,for 用法。# 即 [A0[s] for s in A0.keys()],A0[s] 字典晓得键通过下标取值

A4:同 A2。# 即 既满足 A1,又满足 A3,A1 和 A3 交加

A5:for 输入字典元素。# 即{i:i*i for i in range(10)},字典键值对

A6:for 输入列表元素。# 即[[i:i*i] for i in range(10)],列表元素又是列表

前面对这些函数独自钻研。

SQL 局部

口试的时候是看一张成绩表,包含姓名,课程,问题,学号。三个问题,第一,查问某科问题大于 80 分的学生。二,学生问题统计并排名。三,展现一个表格,减少一列,展现每一个学生低于 60 分就算不及格的,高于 60 算及格。

具体题目遗记了,从网上找了个类似的练习下。工作上用的比拟多的是查问,其它的毕竟好几年没温习了,早就忘了。

成绩表数据如下:

软件测试工程师口试题带答案(二)
一、查问每个人的总成绩并按从高到低排名 (要求显示字段:姓名,总成绩,学号)
考查聚合函数 sum(),用于返回数值列的总数(总额)。。group by 分组(配合聚合函数应用),排序用 order by,默认从小到大,加个 desc,从大到小。没有 where 子句查问所有记录

select name,SUM(score),stid from dbo.stuscore

group by name,stid

order by SUM(score) desc;
运行后果(一块复制进来了)(Navicat 命令列界面,输出 sql 语句按回车 enter 键)

mysql> select name,SUM(score),stid from dbo.stuscore

group by name,stid

order by SUM(score) desc;

| name | SUM(score) | stid |

| 张三 | 218 | 1 |

| 李四 | 200 | 2 |

| 王五 | 191 | 3 |

3 rows in set (0.03 sec)
二、查问每个人单科最高问题 (要求显示字段: 学号,姓名,课程,最高问题)
考查派生表(须要别名),max()函数,用于返回一列中的最大值,NULL 值不包含在计算中。先查学号与最高问题,再把学号,姓名,课程,最高问题查出来

select table1.stid,table1.name,table1.subject,table1.score from stuscore table1,

(select stid,max(score) as maxscore from stuscore group by stid) table2

where table1.stid=table2.stid and table1.score=table2.maxscore;
先查括号外面的

mysql> select stid,max(score) as maxscore from stuscore group by stid;

| stid | maxscore |

| 1 | 89 |

| 2 | 80 |

| 3 | 91 |

3 rows in set (0.03 sec)
后果,再把相干信息列出来

mysql> select table1.stid,table1.name,table1.subject,table1.score from stuscore table1,

(select stid,max(score) as maxscore from stuscore group by stid) table2

where table1.stid=table2.stid and table1.score=table2.maxscore;

| stid | name | subject | score |

| 1 | 张三 | 数学 | 89 |

| 2 | 李四 | 英语 | 80 |

| 3 | 王五 | 数学 | 91 |

3 rows in set (0.04 sec)
三、查问每个人的均匀问题(要求显示字段: 学号,姓名,均匀问题)
考查 avg()函数,用于返回数值列的平均值,NULL 值不包含在计算中。和分组 group by 用法

select name,stid,avg(score) from dbo.stuscore

group by name,stid;
运行后果

mysql> select name,stid,avg(score) from dbo.stuscore

group by name,stid;

| name | stid | avg(score) |

| 张三 | 1 | 72.6667 |

| 李四 | 2 | 66.6667 |

| 王五 | 3 | 63.6667 |

3 rows in set (0.04 sec)
四、查问各门课程问题最好的学生 (要求显示字段: 学号,姓名,科目,问题)
相似第二题。第一步查问把学号 换成科目

select table1.stid,table1.name,table1.subject,table1.score from stuscore table1,

(select subject,max(score) as maxscore from stuscore group by subject) table2

where table1.subject=table2.subject and table1.score=table2.maxscore;
运行后果

mysql> select table1.stid,table1.name,table1.subject,table1.score from stuscore table1,

(select subject,max(score) as maxscore from stuscore group by subject) table2

where table1.subject=table2.subject and table1.score=table2.maxscore;

| stid | name | subject | score |

| 2 | 李四 | 语文 | 70 |

| 2 | 李四 | 英语 | 80 |

| 3 | 王五 | 数学 | 91 |

3 rows in set (0.04 sec)
五、查问各门课程问题最好的两位学生 (要求显示字段: 学号,姓名,科目,问题)
服了,还没找到更好的办法,将就下。依照最快的思路还没调试好,用 top 应该更快(找到科目雷同的,问题的,前两列)

SELECT t1.name,t1.SUBJECT,t1.score FROM stuscore t1 WHERE(SELECT COUNT(*) FROM stuscore t2

WHERE t1.SUBJECT=t2.SUBJECT AND t2.score>=t1.score)<=2

order by subject desc;
运行后果

mysql> SELECT t1.name,t1.SUBJECT,t1.score FROM stuscore t1 WHERE

(

SELECT COUNT(*) FROM stuscore t2 WHERE

t1.SUBJECT=t2.SUBJECT AND t2.score>=t1.score

)<=2 order by subject desc;

| name | SUBJECT | score |

| 李四 | 语文 | 70 |

| 王五 | 语文 | 60 |

| 张三 | 英语 | 70 |

| 李四 | 英语 | 80 |

| 张三 | 数学 | 89 |

| 王五 | 数学 | 91 |

6 rows in set (0.06 sec)
六、查问后果统计如下
学号

姓名

语文

数学

英语

总分

平均分

考查 case when 函数。sum(case …then… else 0 end)固定用法

select stid 学号,name 姓名,sum(case when subject=’ 语文 ’ then score else 0 end)as 语文,

sum(case when subject=’ 数学 ’ then score else 0 end)as 数学,

sum(case when subject=’ 英语 ’ then score else 0 end)as 英语,

SUM(score)总分,avg(score)平均分 from stuscore

group by stid,name order by 总分;
运行后果

mysql> select stid 学号,name 姓名,sum(case when subject=’ 语文 ’ then score else 0 end)as 语文,

sum(case when subject=’ 数学 ’ then score else 0 end)as 数学,

sum(case when subject=’ 英语 ’ then score else 0 end)as 英语,

SUM(score)总分,avg(score)平均分 from stuscore

group by stid,name order by 总分;

| 学号 | 姓名 | 语文 | 数学 | 英语 | 总分 | 平均分 |

| 3 | 王五 | 60 | 91 | 40 | 191 | 63.6667 |

| 2 | 李四 | 70 | 50 | 80 | 200 | 66.6667 |

| 1 | 张三 | 59 | 89 | 70 | 218 | 72.6667 |

3 rows in set (0.05 sec)
七、查问各门课程的均匀问题(要求显示字段:课程,均匀问题)
考查 avg 函数,group by 分组

select subject,avg(score) from stuscore

group by subject;
运行后果

mysql> select subject,avg(score) from stuscore

group by subject;

| subject | avg(score) |

| 数学 | 76.6667 |

| 英语 | 63.3333 |

| 语文 | 63.0000 |

3 rows in set (0.03 sec)
八、查问数学问题的排名(要求显示字段:学号,姓名,问题,排名)
考查 count 用法,order by 排序,留神:比拟的次数 +1 = 排名

select stid,name,score,

(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次 from stuscore t2

where subject=’ 数学 ’ order by score desc;

– 正文:排序,比拟大小,比拟的次数 +1 = 排名。
运行后果

mysql> select stid,name,score,

(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次 from stuscore t2

where subject=’ 数学 ’ order by score desc;

| stid | name | score | 名次 |

| 3 | 王五 | 91 | 1 |

| 1 | 张三 | 89 | 2 |

| 2 | 李四 | 50 | 3 |

3 rows in set (0.13 sec)
九、查问数学问题在 2 - 3 名的学生(要求显示字段:学号,姓名,科目,问题)
有很多种办法,上面只是其中的一种,顺着第八题做下来

select t3.* from (

select stid,name,subject,score,

(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次 from

stuscore t2 where subject=’ 数学 ’) t3

where t3. 名次 between 2 and 3 order by t3.score desc;
运行后果

mysql> select t3.* from (

select stid,name,subject,score,

(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次 from

stuscore t2 where subject=’ 数学 ’) t3

where t3. 名次 between 2 and 3 order by t3.score desc;

| stid | name | subject | score | 名次 |

| 1 | 张三 | 数学 | 89 | 2 |

| 2 | 李四 | 数学 | 50 | 3 |

2 rows in set (0.49 sec)
十、查问李四的数学问题的排名
办法很多,上面列出其中的一种,顺着第八题做

select stid,name,subject,score,(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次

from stuscore t2 where subject=’ 数学 ’ and name = ‘ 李四 ’ order by score desc;
运行后果

mysql> select stid,name,subject,score,(select count(*) from stuscore t1 where subject =’ 数学 ’ and t1.score > t2.score)+1 as 名次

from stuscore t2 where subject=’ 数学 ’ and name = ‘ 李四 ’ order by score desc;

| stid | name | subject | score | 名次 |

| 2 | 李四 | 数学 | 50 | 3 |

1 row in set (0.05 sec)
十一、查问统计如下
课程

不及格(0-59)个

良(60-80)个

优(81-100)个

考查 case when

select subject 科目,sum(case when score between 0 and 59 then 1 else 0 end) as 不及格,

sum(case when score between 60 and 80 then 1 else 0 end) as 良,

sum(case when score between 81 and 100 then 1 else 0 end) as 优良 from stuscore

group by subject;
运行后果

mysql> select subject 科目,sum(case when score between 0 and 59 then 1 else 0 end) as 不及格,

sum(case when score between 60 and 80 then 1 else 0 end) as 良,

sum(case when score between 81 and 100 then 1 else 0 end) as 优良 from stuscore

group by subject;

| 科目 | 不及格 | 良 | 优良 |

| 数学 | 1 | 0 | 2 |

| 英语 | 1 | 2 | 0 |

| 语文 | 1 | 2 | 0 |

3 rows in set (0.06 sec)
十二、查问统计如下
数学: 张三(50 分), 李四(90 分), 王五(90 分), 赵六(76 分)

查了下答案,先贴上

declare @s nvarchar(1000)

set @s=”

select @s =@s+’,’+name+'(‘+convert(nvarchar(10),score)+’ 分)’ from

stuscore where subject=’ 数学 ’

set @s=stuff(@s,1,1,’ ‘)print ‘ 数学:’+@s
Mysql 增删改查语句
减少:INSERT INTO 表名(字段名 1,字段名 2) VALUE(字段值 1,字段值 2)

例:INSERT INTO a(id,name) VALUE(2,’ 李四 ’);

删除:DELETE FROM 表名 WHERE 条件

例:DELETE FROM a WHERE id=1;

批改:UPDATE 表名 SET 字段名 = 字段值 WHERE 条件

例:UPDATE a SET id=1,name=’ 张三 ’ WHERE id=2;

查问:SELECT(字段名,* 代表全副)FROM 表名 WHERE 条件

例:SELECT id,name FROM a WHERE id=1;

常见软件测试口试题
1、测试用例的设计办法有哪些?请论述断定表设计测试用例的步骤。

答:等价类划分,边界值剖析,谬误推断法,因果图法,正交表分析法,场景分析法。

断定表设计测试用例的步骤:确定规定的个数;列出所有的条件桩和动作桩;填入条件项,失去初始断定表;简化合并类似规定。

2、自动化测试框架有哪几种?

答:模块化框架,

​ 函数库框架;

​ 关键字驱动测试框架;

​ 数据驱动框架。

3、测试覆盖率分为哪几种统计形式?别离是什么?

答:代码覆盖率;功能模块覆盖率;数据库覆盖率;需要覆盖率。

4、什么是 FMEA?

答:生效模式与影响剖析,它是可靠性设计的重要办法,对各种危险进行评估,剖析,以便在现有技术的根底上打消这些危险或将危险缩小到能够承受的程度。

5、列举出你所理解的 EMC 测试和环境测试项目。

答:EMC 测试是对电子产品在电磁场方面烦扰大小和抗干扰能力的综合评定,是产品质量重要的指标之一,电磁兼容的测量有测试场地和测试仪器组成。EMC 包含两局部,别离是 EMI(烦扰)和 EMS(敏感度,抗干扰)。

6、如何制订测试计划?

答:产品根本状况,测试需要状况,测试策略和记录,计划表,问题跟踪报告,测试计划的评定和后果。

7、什么叫做无效等价无效类,有效等价类?

答:无效等价类值对于程序规格来说是正当的,有意义的输出数据形成的汇合。利用无效等价类能够测验程序是否实现了规格说明书的事后设定的性能和个性。有效等价类是指对于软件规格来说是没有意义和不合理的输出的数据汇合。

8、请形容 TCP/IP 建设连贯的过程

答:采纳三次握手,建设一个连贯。

第一次握手,客户端发送 syn 包(syn=j)到服务端,并进入 SYN_SEND 状态,期待服务器确认;

第二次握手,服务端收到 syn 包,必须确认客户的 SYN(ack=j+1),同时也发送一个 syn 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;

第三次握手,客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送结束,客户端和服务器进入 EATABLISHED 状态,实现三次握手。

9、调用一个 DLL(动态链接库)有哪几种形式?

答:一种是编程的时候,间接调用 include 库文件。编好的程序应用时为操作系统间接调用。

第二种为编程的时候应用 LoadLibrary,FreeLibrary,GetProcAddress 来动静装载程序。则编好的程序应用库文件时,是程序本人被动载入。

10、白盒测试有哪些笼罩办法?

答:语句笼罩,断定笼罩,条件笼罩,断定 / 条件笼罩,组合笼罩,门路笼罩。

11、过程与线程的区别?

答:线程是过程的一个执行单元,也是过程的可调度实体。

与过程的区别:

(1)、地址空间:过程内的一个执行单元;过程至多有一个线程,它们共享过程的地址空间,而过程有本人独立的地址空间;

(2)、资源领有:过程是资源分配和领有的单位,同一个过程内的线程共享过程的资源;

(3)、线程是处理器调度的根本单位,过程不是;

(4)、二者均可并发执行。

如果本文对你有帮忙,别忘记给我个 3 连,点赞,转发,评论,

咱们下期见!答案获取形式:已赞 已评 已关~

学习更多 JAVA 常识与技巧,关注与私信博主(666)

正文完
 0