测牛学堂:软件测试面试考点之测试理论(测试流程,测试分类)

测试基础

为什么要有测试呢?现在软件已经和人的生活息息相关了,所以保证软件的稳定很重要。但是所有开发出来的软件都是有缺陷的。包括代码错误,逻辑错误,设计不合理等。

测试的目的

测试的目的主要有四个点

1找到软件缺陷

2增强客户对软件的信心,经过一道测试的软件,肯定更有报障

3为产品上线提供数据支持,比如是否决定要发布,不要认为有缺陷就一定不会发布,如果是一些体验上的不重要的缺陷,是可以发布上线的。

4积累经验,预防缺陷,降低产品的风险。

总结:测试的目的一句话来说就是验证产品是否满足用户需求。

测试文档

我们在项目中会接触很多文档,有些文档是别人写的需要我们测试的,有些文档是需要我们测试人员去编写的。

①需要测试的文档:需求分析文档,概要设计文档,详细设计文档(不用写,只需测)

②需要撰写的文档:测试计划、测试用例、缺陷报告、测试报告(即要写,也要测)

说明:文档是人写的,人写的就大概率会有BUG,最常见的就是逻辑BUG,参照物都有BUG,那问题就严重了

测试原则

①证明软件存在缺陷:

②不要执行穷尽测试:针对优先级高的模块进行高强度测试,复杂度越高,进行全面性测试就越无法实现

③测试应该尽早介入:

④缺陷存在群集现象:一个模块BUG越多,未检测的BUG也就越多

⑤杀虫剂悖论:一直使用相同的测试方法或手段,可能无法发现新的BUG

⑥测试活动依赖于测试内容:金融看安全,娱乐看重体验,所以测试的工具、技术、流程都不相同

⑦没错误就是好是谬论:没有BUG,不代表满足了用户需求

测试过程

①计划:根据需求分析写测试计划(计划就是什么人,在什么时间,干什么事)

②设计:指定测试方案,编写测试用例

③执行:执行测试用例,记录结果,提BUG,并跟踪BUG状态

④总结:写测试总结报告,对整体测试活动进行复盘

需要注意的是,以上四个过程,只是测试活动的一个小的阶段,测试过程是循环的过程,直到项目结束

测试阶段

①单元测试:针对被测系统最小的组成单元进行测试(函数、类、模块,通常由程序员完成)

②集成测试:把已通过单元测试的模块集成在一起进行测试

③系统测试:将已通过集成测试的软件部署在真实的环境下执行测试(测功能)

④验收测试:整体验收,有用户参与的测试

需要注意的是,对于我们测试人员来说,其中最重要的就是系统测试,因为系统测试是最接近用户的测试,用户一般只关心好不好用,不会关心里面的代码是如何实现的,且系统测试也可以看作成纯功能测试,不涉及代码。

测试分类

测试可以有不同的分类,我们要了解一些专业术语,在和别人交流过程中才能显得专业。

按测试阶段划分:单元、集成、系统、验收

按覆盖代码划分:黑盒、白盒、灰盒

黑盒测试:又称数据驱动测试,完全不考虑程序内部结构与特性,只注重功能是否满足需求(系统测试)

白盒测试:关注源代码和程序结构,测试具体的代码块(单元测试)

灰盒测试:既关心输入和输出,又关心代码结构,介于黑白盒之间的测试(集成测试)

其它的常见测试分类名词:

1)回归测试:提交BUG程序员改完,再次进行的测试,并且对当前BUG相关联的模块再次测试(自动化的方式)

2)冒烟测试:确认软件基本功能正常,是否可以进行后续的正式测试工作(为正式测试工作做准备)

把主要的业务正向跑通,主要避免正式测试之前主功能无法实现,耽误测试工期

验证软件是否具有可测性

3)随机测试:并不是随机抽几个功能点测试,而是找重要功能点和容易出错的地方进行二次检测(复测)

总结:

测试分类因着不同地域和不同公司,分法与叫法都不一定相同,且分类与分类之间,会有交集或并集的关系。我们对测试的分类,主要是看公司是怎么规划的。

你可能感兴趣的:(测牛学堂:软件测试面试考点之测试理论(测试流程,测试分类))