测试基础
为什么要有测试呢?现在软件已经和人的生活息息相关了,所以保证软件的稳定很重要。但是所有开发出来的软件都是有缺陷的。包括代码错误,逻辑错误,设计不合理等。
测试的目的
测试的目的主要有四个点
1找到软件缺陷
2增强客户对软件的信心,经过一道测试的软件,肯定更有报障
3为产品上线提供数据支持,比如是否决定要发布,不要认为有缺陷就一定不会发布,如果是一些体验上的不重要的缺陷,是可以发布上线的。
4积累经验,预防缺陷,降低产品的风险。
总结:测试的目的一句话来说就是验证产品是否满足用户需求。
测试文档
我们在项目中会接触很多文档,有些文档是别人写的需要我们测试的,有些文档是需要我们测试人员去编写的。
①需要测试的文档:需求分析文档,概要设计文档,详细设计文档(不用写,只需测)
②需要撰写的文档:测试计划、测试用例、缺陷报告、测试报告(即要写,也要测)
说明:文档是人写的,人写的就大概率会有BUG,最常见的就是逻辑BUG,参照物都有BUG,那问题就严重了
测试原则
①证明软件存在缺陷:
②不要执行穷尽测试:针对优先级高的模块进行高强度测试,复杂度越高,进行全面性测试就越无法实现
③测试应该尽早介入:
④缺陷存在群集现象:一个模块BUG越多,未检测的BUG也就越多
⑤杀虫剂悖论:一直使用相同的测试方法或手段,可能无法发现新的BUG
⑥测试活动依赖于测试内容:金融看安全,娱乐看重体验,所以测试的工具、技术、流程都不相同
⑦没错误就是好是谬论:没有BUG,不代表满足了用户需求
测试过程
①计划:根据需求分析写测试计划(计划就是什么人,在什么时间,干什么事)
②设计:指定测试方案,编写测试用例
③执行:执行测试用例,记录结果,提BUG,并跟踪BUG状态
④总结:写测试总结报告,对整体测试活动进行复盘
需要注意的是,以上四个过程,只是测试活动的一个小的阶段,测试过程是循环的过程,直到项目结束
测试阶段
①单元测试:针对被测系统最小的组成单元进行测试(函数、类、模块,通常由程序员完成)
②集成测试:把已通过单元测试的模块集成在一起进行测试
③系统测试:将已通过集成测试的软件部署在真实的环境下执行测试(测功能)
④验收测试:整体验收,有用户参与的测试
需要注意的是,对于我们测试人员来说,其中最重要的就是系统测试,因为系统测试是最接近用户的测试,用户一般只关心好不好用,不会关心里面的代码是如何实现的,且系统测试也可以看作成纯功能测试,不涉及代码。
测试分类
测试可以有不同的分类,我们要了解一些专业术语,在和别人交流过程中才能显得专业。
按测试阶段划分:单元、集成、系统、验收
按覆盖代码划分:黑盒、白盒、灰盒
黑盒测试:又称数据驱动测试,完全不考虑程序内部结构与特性,只注重功能是否满足需求(系统测试)
白盒测试:关注源代码和程序结构,测试具体的代码块(单元测试)
灰盒测试:既关心输入和输出,又关心代码结构,介于黑白盒之间的测试(集成测试)
其它的常见测试分类名词:
1)回归测试:提交BUG程序员改完,再次进行的测试,并且对当前BUG相关联的模块再次测试(自动化的方式)
2)冒烟测试:确认软件基本功能正常,是否可以进行后续的正式测试工作(为正式测试工作做准备)
把主要的业务正向跑通,主要避免正式测试之前主功能无法实现,耽误测试工期
验证软件是否具有可测性
3)随机测试:并不是随机抽几个功能点测试,而是找重要功能点和容易出错的地方进行二次检测(复测)
总结:
测试分类因着不同地域和不同公司,分法与叫法都不一定相同,且分类与分类之间,会有交集或并集的关系。我们对测试的分类,主要是看公司是怎么规划的。
我们都了解以后,根据公司的安排来进行测试就好了。
资源分享
下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】