2023年软件测试基础知识及求职面试试题

上传人:re****.1 文档编号:508333359 上传时间:2023-12-03 格式:DOCX 页数:9 大小:25.58KB
返回 下载 相关 举报
2023年软件测试基础知识及求职面试试题_第1页
第1页 / 共9页
2023年软件测试基础知识及求职面试试题_第2页
第2页 / 共9页
2023年软件测试基础知识及求职面试试题_第3页
第3页 / 共9页
2023年软件测试基础知识及求职面试试题_第4页
第4页 / 共9页
2023年软件测试基础知识及求职面试试题_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《2023年软件测试基础知识及求职面试试题》由会员分享,可在线阅读,更多相关《2023年软件测试基础知识及求职面试试题(9页珍藏版)》请在金锄头文库上搜索。

1、何为软件测试?为了保证软件的质量和可靠性,应力求在分析、设计等各个开发阶段结束前,对软件进行严格技术评审。但由于人们能力的局限性,审查不能发现所有的错误。而且在编码阶段还会引进大量的错误。这些错误和缺陷如果遗留到软件交付投入运行之时,终将会暴露出来。但到那时,不仅改正这些错误的代价更高,而且往往造成很恶劣的后果。 软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。如果给软件测试下定义,可以这样讲:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入一些数据而得到

2、其预期的结果),并利用这些测试用例去运行程序,以发现程序错误的过程。 软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要的测试(称为单元测试)。编码与单元测试属于软件生存期中的同一个阶段。在结束这个阶段之后,对软件系统还要进行各种终合测试,这是软件生存期的另一个阶段,即测试阶段,通常由专门的测试人员承担这项工作。 大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因此,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上

3、,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目标是发现软件中的错误,但是,发现错误并不是我们的最终目的。术语、名词定义1. 黑盒测试 黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能正常使用,程序是否能接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试是基于用户角度进行的测试。2. 白盒测试 软件测试的主要方法之一,也称结构测试、逻辑驱动测试或基于程序本身的测试。测试者需要了解待测试程序代码的内部结构、算法等信息,

4、这是从程序设计者的角度对程序进行的测试。它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 3. 灰盒测试 可以理解为静态的白盒测试或动态的黑盒测试,灰盒就是界于黑白之间, 对软件内部有所了解, 但不见得到了如指掌的程度, 却可以结合这些了解做些比黑盒多点的测试。 4. 文档测试 文档测试涵盖面很大,在软件的各个版本中均有所使用。随着软件版本的变化,文档测试的测试内容也有所变化。在需求分析以及原型架构阶段,文档测试主要目标是: Sitemap、动作分解列表、数据库ER图、UML用例图、流程图、需求文档等文档。 文档测试主要检查文档的正确性、完整性和可理解性。正确

5、性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾。完整性是指文档不可以漏掉关键性内容。可理解性是指在文档中描述的语言要简明易懂,不能让别的开发人员拿到文档时看不懂文档的内容。 5. 命名规范测试 命名规范测试用于测试项目中的文件命名、代码以及版本号等书写是否符合规范。文件命名规范以及版本号命名规范可以参看第四部分里软件命名规范的详细信息;各种语言的命名规范可以参考语言自身的规范,如NoahWeb的可以参考 http:/附录中的NoahWeb各类资源命名规范。 6. 需求完整性测试 需求完整性测试主要存在于需求探索阶段,在需求尚未完全明确之前对已收集到的需求做出整理性的、检查遗漏性的测

6、试,确认需求是否明确。另外,需求完整性测试也承担着一部分澄清需求的任务。 7. 链接完整性测试 在原型架构阶段,链接完整性的测试是非常有必要的。该项测试任务主要是检查假页面中各种链接是否完整,是否指向目标位置,属于检查性的测试。 8. 页面完整性测试 页面完整性测试主要存在于集成测试阶段以及其后续其它阶段中,测试页面是否完整,页面质量是否达标,属于检查性测试。 9. UI合理性测试 UI合理性测试也就是人机交互界面的合理性,UI合理性测试的内容很多,具体测试内容如下: o 提示、菜单、帮助的格式是否一致; o 提示、菜单、帮助中的术语是否一致; o 各个控件之间的对齐方式是否一致; o 输入界

7、面和输出界面在外观、布局、交互方式上是否一致; o 功能类似的相关界面在外观、布局、交互方式上是否一致; o 同一层次的文字在同一种提示场合(一般情况、特殊字体、警告等)在文字大小、字体、颜色、对齐方式方面是否一致,字体大小 是否与界面的大小比例协调; o 多个连续界面依次出现的情况下,界面的外观、操作方式是否一致; o 系统是否拒绝客户的错误输入并做出提示; o 系统是否在用户完成操作时给出操作成功的提示; o 用户界面是否存在空白空间,没有空白空间的界面是杂乱无章的,易用性差; o 各个控件的间隔是否一致,垂直和水平方向上是否对齐; o 是否允许动作的可逆性,返回原有操做; 10. 数据和

8、数据库完整性测试 因为在开发阶段开发人员随时都有可能根据需要来修改数据库,所以对数据和数据库完整性测试在软件项目的任何阶段也是非常必要的。该项测试内容主要是以数据库表为单位,检查数据库表以及表中各字段命名是否符合命名规范,表中字段是否完整,数据库表中的字段描述是否正确包括字段的类型、长度、是否为空,数据库表中的关系、索引、主键、约束是否正确。 11. 功能测试 功能测试在软件项目的任何阶段中都是重要的。实现功能,满足客户需求是软件本身最大的使命。功能测试在任何阶段下基本上都作为测试工作的第一项出现。该项测试任务主要为了测试已实现的功能是否满足需求,是否正确,是否有价值以及是否完整。在黑盒和白盒

9、测试状态下,该测试均会被使用。 功能测试中测试人员往往会忽略掉一些细节问题,比如:一个功能的实现必须要经过6步操作才能完成,而且需要加入20条信息才能看得出测试结果,有的测试人员为了节省时间虽然做完了6步操作,但是没有加入足量的信息,,使得测试不全面,正是因为这样而导致一些隐藏的BUG没有被测试出来。所以说在功能测试中要按部就班的把所有要进行的测试功能每一步都执行一遍,应该添加的数据都添加完整,以避免遗漏掉BUG没有测试出来。 12. 压力测试 压力测试是为了发现在什么条件下您的应用程序的性能会变得不可接受。这通过改变应用程序的输入以对应用程序施加越来越大的负载并测量在这些不同的输入时性能的改

10、变来实现的。这种操作也称为负载测试,但是负载测试通常描述一种特定类型的压力测试增加用户数量以对应用程序进行压力测试。 对应用程序进行压力测试最简单的方法是手工改变输入(客户机数量、需求大小、请求的频率、请求的混合程度等等)并描绘性能的变化。但是如果有许多输入,或者需要在大的范围内改变输入,那么你可以借助一个自动化的压力测试工具来完成此测试。人力资源问题:你为什么选择软件测试行业因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对根据你以前的工作经验描述一下软件开发、测试过程,由那些角色负责,你做什么要有架构师、开发经理、测试经理、程序员、测试员我在里面主要是负责所分到的模块执行测试用例。

11、结合你以前的学习和工作经验,你认为如何做好测试。根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。你觉得测试最重要的是什么尽可能的找出软件的错误怎样看待加班问题加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决?首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,

12、和他沟通,或者我会找到我的直系领导让他解决。为什么在团队中要有测试因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。在测试时代学习自己最大的收获是什么?在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。你对未来的规划我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。自己优势及缺点我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。你为什么选择测试时代不选

13、择51testing因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。13.请谈谈您对测试工作的理解我认为测试工作是找出软件产品的错误,14.你认为测试人员需要具备哪些素质?我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。15.你为什么能够做测试这一行。虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为

14、做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。1测试的目的是什么?测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。当软件测试是不可能能够找出全部的错误的。2. 测试分为那几个阶段?一般来说测试大体分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试在测试过程中如果有需要还要进行回归测试。3. 单元测试的测试对象,目的、测试依据、测试方法?测试对象是模块内部的程序错误;目的是消除局部模块逻辑和功能上的错误和缺陷;测试依据是模块的详细设计;测试方法采用白盒测试。4. 集成测试的测试对象,目的、测试依据、测试方

15、法?集成测试的测试对象是模块间的组装和调用关系;目的是找出与软件设计相关的程序结构模块调用关系,模块间接口方面问题;测试依据是概要设计;测试方法采用灰盒测试。5. 系统测试的测试对象,目的、测试依据、测试方法?系统测试的测试对象是整个系统;测试的目的是对整个系统进行测试;测试的依据是需求规格说明书;测试方法黑盒测试。6. 测试覆盖的类型测试覆盖的类型有:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖7. 性能测试的分类分为:性能测试、负载测试、压力测试、容量测试负载测试与压力测试可以结合进行。8. 列举您熟悉的主流自动化测试工具我熟悉的自动化测试工具有:基于web的测试管理工具TestDirector、配置管理工具VSS、QTP以及性能测试工具LoadRunner9. 编辑sql语句时,年月日型时间字段如何表达加引号13. c/s和b/s结构的软件进行测试时有何不同C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统。客户端需要安装专用的客户端软件。B/是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser)。浏览器通过Web Server 同数据库进

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号