【面试宝典】软件测试工程师2021烫手精华版(第一章测试理论篇)

本文详细介绍了软件测试的重要概念,包括测试理论、测试模型、测试计划、用例设计、缺陷管理等方面,强调了测试与开发的密切关系,并提供了测试用例设计和缺陷报告的实例。同时,讨论了不同测试类型的区别与联系,以及如何提高测试效率和降低漏测率,适合准备面试的软件测试工程师参考学习。
摘要由CSDN通过智能技术生成

在这里插入图片描述

前言:

翻了很多论坛博客关于面试的文章,很多都是不完整的,还都是比较常见规规矩矩的,那大家刷过的基本都不拿出来了,都是一些大家平时见得不多,但是面试官很看中的一些题。

第一章 测试理论

一、 软件工程

阐述软件生命周期都有哪些阶段?常见的软件生命周期模型有哪些?

软件生命周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到废弃的过程)
生命周期从收到应用软件开始算起,到该软件不再使用为止。它有如下各方面的内容: 初始构思、需求分析、功能设计、内部设计、文档计划、测试计划、文档准备、集成、测 试、维护、升级、再测试、逐步淘汰 (phase-out)、等等

瀑布模型,迭代式模型,快速原型模型,螺旋模型

什么是版本控制,常用的版本控制系统有哪些?

版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 https://git-scm.com/doc

SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。互联网上很多版本控制服务已从 CVS 迁移到 Subversion。 https://tortoisesvn.net/support.html
在这里插入图片描述
简述软件测试与软件开发之间的关系?

项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。

需求分析阶段:确定测试需求分析、系统测试计划的制定,评审后成为管理项目。测试需求分析是对产品生命周期中测试所需求的资源、配置、每阶段评判通过的规约;系统测试计划则是依据软件的需求规格说明书,制定测试计划和设计相应的测试用例。

详细设计和概要设计阶段:确保集成测试计划和单元测试计划完成。

编码阶段:由开发人员进行自己负责部分的代码的测试。在项目较大时,由专人进行编码阶段的测试任务。
测试阶段(单元、集成、系统测试):依据测试代码进行测试,并提交相应的测试状态报告和测试结束报告。

开发和测试是一个有机的整体!在产品的发布之前,开发和测试是循环进行的, 测出的缺陷要经开发人员修改后继续测试。在开发的同时测试经理开始编写测试用例,测 试文档要参考开发文档,所以开发和测试是不可分割的,少了任何一个都不能开发出产品。

从角色方面看,像理论和实验的关系,开发人员通过自己的想象创造出一套思想,之 后测试人员再对它进行检验、证伪,开发人员再修改的过程从而不断丰富产品。从方法方 面看,是演绎和归纳的关系,一个要掌握大量的技术,一个要不断的从实例中学习。因这 两方面的不同,所以开发和测试看上去做的工作很不一样。

开发与测试是相辅相承、密不可分的,开发人员开发出新的产品后要通过测试判断产 品是否完全满足用户的需求。如果发现缺陷,提交给开发人员进行修复,然后再转交测试 人员进行回归测试,直到产品符合需求规格说明。一个符合用户需求的产品是开发和测试 共同努力的成果。
在这里插入图片描述

二、 测试模型

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

常见测试模型有哪些?

在这里插入图片描述
特点:这是一种古老的瀑布模型,反映了实际和测试之间的关系

局限:仅仅把测试过程作为编码之后的一个阶段,忽视了测试对需求分析,系统设计的验证,如果前面设计错误,得一直到后期的验收测试才被发现,耗时耗力。
在这里插入图片描述
在这里插入图片描述
请根据”V”模型分别概述测试人员在软件的需求定义阶段、设计阶段、编码阶段、系统集成阶段的工作任务及其相应生成的文档?

需求定义阶段:根据项目需求提取测试需求 并形成测试需求文档,根据提取的测试需求和项目计划进行测试计划的拟定,测试计划文档

设计阶段:根据测试需求拟定测试方案并形成测试方案文档;根据测试方案制定测试用例,并形成测试用例文档

编码阶段:执行测试并完善测试用例文档

系统集成阶段:测试总结报告,阶段问题统计报告,测试问题报告

W 模型的描述?
在这里插入图片描述
在这里插入图片描述
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 都可以加入我们在这里插入图片描述
,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!
在这里插入图片描述

三、 测试计划

编写测试计划的目的是?

使测试工作顺利进行;使项目参与人员沟通更舒畅;使测试工作更加系统化。

测试计划编写的六要素?

why——为什么要进行这些测试
what—测试哪些方面,不同阶段的工作内容
when—测试不同阶段的起止时间
where—相应文档,缺陷的存放位置,测试环境等
who—项目有关人员组成,安排哪些测试人员进行测试
how—如何去做,使用哪些测试工具以及测试方法进行测试。

项目版本执行过程中,测试人员如何把控测试进度?

在项目的系统测试过程中,测试负责人要及时了解测试进度,跟踪 BUG 提交、修复及验证情况以及系统的拷机情况。

在开发初期阶段,测试组执行 BBFV 时,很多模块、功能点的开发完成进度和原计划会存在一定的偏差, 就需要测试负责人动态的刷新WBS 计划,根据实际的开发进度调整测试计划。
在开发阶段,存在版本编译不出来导致无法测试,开发人员修复代码太随意导致版本稳定性反复,需求变更过大导致后端测试开发变更严重等现象,会导致测试工作无法正常进行。就需要测试负责人及时反馈出来,根据项目本身的特点进行对应的处理。

当测试进度出现延期时,要及时确认问题原因,如果是问题协查导致,则需及时与研发人员进行沟通协商,看问题是否必须在测试环境进行排查,若为必现问题可与研发协商要求其在自己环境进行排查,若必须占用测试环境,则需及时调整测试计划,若因此可能影响版本的发布,则应及时与 SE 确认。

若发现有较多BUG 未解决,则应主动联系 SE 及研发人员召开BUG 会确定问题的解决时间。若发现有较多BUG 未验证,则应提醒项目组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值