导图社区 软件测试的基础介绍(后续逐渐更新)
对软件测试行业的基础介绍,其中包括软件定义、软件测试的作用、测试原则等内容。
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
社区模板帮助中心,点此进入>>
python思维导图
Java日常技术
java中io流图解
Java继承与多态
职场必看!Java编程思想思维导图
python留言网站
Python入门
python基础知识点简单总结
J2EE复习大纲
《C语言程序设计》思维导图
软件测试
软件测试行业基本介绍
为什么需要软件测试
1、一款软件从无到有会经历很多的开发阶段,有不同的人来参与开发, 所以最终产出的软件功能会存在问题。因此为了保证软件的功能是可用的, 我们必须进行软件测试。
为什么要选择软件测试
1、国内的软件行业对于专业的软件测试人员需求慢慢变大
2、有些人喜欢创造世界所以他们做了开发,而我们就是希望这个世界变得更加 美好,所以做了测试。
为什么不让开发做测试
1、当前行业有许多的测试从业人员本身之前就是做开发的。
2、专业度
软件测试和软件开发分别属于软件行业当中两个不同的技术方向, 所以让专人做专事对于质量更加有保证。
3、思维定式
在软件的开发周期中,对于程序员来说他们大多数时间都是用来思考如何实现具体的软件功能,而不会去从用户的角度考虑如何去“奇葩”的使用这些功能。
4、测试力度
相对于开发来说,人间就是他们的“孩子”
软件测试基本介绍
软件定义
通过手工或者工具对“被测对象”进行测试操作,从而验证实际结果与预期结果之间是否存在差异。
软件测试的作用
1、通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用
2、测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持
3、测试可以降低同类型产品开发遇到问题的风险。
测试原则
测试证明软件存在缺陷
不能执行穷尽测试
缺陷存在群集现象
某些测试需要依赖特殊的环境
测试应尽早介入
杀虫剂现象
不存在缺陷谬论
系统测试分类
功能测试
验证当前的软件主体功能是否可用
兼容性测试
验证当前软件在不同的环境下是否还可以使用
安全测试
验证软件是否之时能授权用户提供功能使用
性能测试
相当于当前软件消耗的资源。它的产出能力
测试对象
对于当前的测试行业来说,我们最经常测试的主体就是软件(主体功能),但是需要我们明白是一个软件也不仅仅只有功能需要测试,我们可以将软件分为三个阶段
功能集合
使用说明书
配置说明(配置数据)
对于一款软件来说从无到有需要不同的过程,我们可以将这个过程分为不同的阶段,然后每个阶段都会相应有测试对象
需求分析阶段
各种需求规格说明书
软件架构设计
API接口文档(接口测试)
编码实现阶段
源代码(白盒测试、单元测试)
系统功能使用
软件功能主体(当前行业做的最多的一种测试)
测试级别
软件的开发都会依据相应的开发模型,测试级别指的就是在这个模型当中我们人为定义的开发步骤,其中对于测试来说我们最常见的一种级别分类如下
单元测试(UT)
单元测试就是对底层额源代码进行测试
类
函数
组件
集成测试(IT)
将多个单元模块组合在一起,然后验证它们之间沟通的“桥梁”是否能正常工作(接口测试)
系统测试(ST)
这是当前行业做得最多的一种测试,由测试人员充当用户然后对软件的功能主体进行测试。
验证测试
a测试
内测
β测试
外测
UAT
由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试
核心
验收测试的核心就是让客户为当前的软件“买单”
常见的系统测试方法
从测试对象进行分析
白盒测试
软件的底层代码与逻辑
黑盒测试
外在主体功能是否可用
灰盒测试
介于黑盒与白盒之间
按测试对象是否执行分类
静态测试
指的就是测试不执行
动态测试
见软件进行在真实的使用环境中进行测试
按测试手段进行分类
手工测试
由测试人员手动的对被测对象进行验证
优点
就是可以灵活的改变测试操作及环境
自动化测试
所谓自动化主要有两种形式
一种是自己写测试脚本
另外一种就是通过第三方的工具对被测对象进行测试
就是可以高效的去执行一些人共无法实现的操作。
浮动主题