IT界被忽视的小可爱们:致敬QA

本文详述了软件测试的基本概念、测试环境、测试分类、软件生命周期模型、敏捷开发与测试、需求评审、测试用例设计方法、缺陷管理等方面,涵盖了黑盒测试、白盒测试、静态测试、动态测试、单元测试、集成测试、系统测试和验收测试等多个测试阶段,以及测试用例的评审和变更。此外,还探讨了软件测试的原则、常见测试模型如瀑布模型、V模型和W模型,以及敏捷测试的特点和用户故事在敏捷开发中的应用。

一、了解软件测试

1.1、什么是软件测试

使用人工或者自动手段,来运行或者测试某个系统的过程。其目的在于检测它是否满足规定的需求或者弄清预期结果与实际结果之间的差别

1.2、软件测试现状

在这里插入图片描述

1.3、软件测试标准

国内通用的软件工程标准主要有ISO9000及CMM:
ISO9000系列标准是ISO国际标准化组织TC/176技术委员会制定的所有的国际标准,其核心标准是质量保证保准(ISO9001/2/3)和质量管理标准ISO9004

1.4、软件测试所需要的知识体系和素质

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、测试环境

首先alpha测试和beta都属于验收测试,这两种测试都需要用户参加,且都不能由程序员和测试员执行。广义上来讲, α测试是“内测”, β测试是“公测”,alpha测试是用户在开发环境或者是公司内部模拟实际操作环境的测试
α测试的特点是:
  1、它是在开发环境下进行的(不对外发布)
  2、它不需要测试用例评价软件使用质量
  3、用户往往没有相关经验,可以是兼职人员,开发者或测试者坐用户旁边
  4、目的主要评价软件产品的功能、局域化、可用性、可靠性、性能等
Beta测试是真实用户在实际操作环境下进行的测试。 而且顺序不能错,必须先进行Alpha测试再进行Beta测试;先α测试后β测试
Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。
而beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。
对于软件产品来说,在系统测试后,才有α测试β测试,而且通用的软件产品需要较大规模的beta测试,测试周期比较长。如果产品通过了beta测试,那么就可以正式发行了。
  如果还不能够理解明白,就类比《王者荣耀》,有体验服(内测玩家)、正式服(大众的普遍玩家)。

三、软件测试分类

在这里插入图片描述

3.1、黑盒测试和白盒测试

黑盒测试(Black Box -Test)指的是把被测试的软件看做一个黑盒子,我们不去关心盒子里边的结构是什么样子,只关心软件的输入数据和输出结果
白盒测试(White Box Testing),指的是把盒子盖打开,去研究里边源代码和程序结构
在这里插入图片描述

3.2、静态测试和动态测试

静态测试:是指不实际运行被测试软件,而只是静态的检查程序代码、界面或者文档中可能存在的错误的过程
动态测试:是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程

3.3、功能测试和性能测试

3.3.1、功能测试

是黑盒测试的一部分,它检查实际软件的功能是否符合用户的需求
功能测试可以细分逻辑功能测试,界面测试,易用性测试,安装测试和兼容性测试

3.3.1.1、逻辑功能测试

测试应用是否符合逻辑,比如应该先注册账号之后,才能进行登录,登录之后才能看我的购物车

3.3.1.2、界面测试

窗口大小,按钮大小,点击按钮弹出什么样的提示框,是否有滚动条,下拉菜单是否有展示内容…

3.3.1.3、易用性测试

从软件使用的合理性和方便性等角度对软件系统进行检查,比如:软件窗口长宽比例是否合适,颜色色彩是否赏心悦目,字体大小是否合适
在这里插入图片描述
在这里插入图片描述

3.3.1.4、安装测试

1、软件在不同操作系统下安装的过程
2、软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。
3、软件安装各个选项的组合是否符合概要设计说明
4、软件安装向导的UI测试
5、软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理
6、软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
7、安装过程是否是可以回溯的(即是否可以点上一步重新选择)、
8、软件安装过程中是否支持快捷键,快捷键的设置是否符合用户要求
9、对某些软件要考虑客户端的安装、服务器端的安装、数据库的安装及单机版和网络版的安装

3.3.1.5、兼容性测试

在这里插入图片描述

3.3.2、性能测试

时间性能:软件的一个具体事务的响应时间。比如点击一个登陆按钮,到登录成功(失败)的反应时间,浏览器非常常见,ANR(Application not responding 应用程序无响应)
空间性能:软件运行时所消耗的系统资源,比如对内存和cpu的消耗
一般性能测试:软件正常运行,不向其施加任何压力的测试
稳定性测试:也叫可靠性测试,是指连续运行被测系统,检查系统运行时的稳定程度
负载测试:让被测系统在其能够忍受的压力范围之内连续运行,来测试系统的稳定性
压力测试:持续不断的给被测试的系统增加压力,直到被测试的系统压垮为止,用来测试系统所承受的最大压力
在这里插入图片描述
在这里插入图片描述

3.4、单元测试、集成测试、系统测试和验收测试

3.4.1、单元测试

单元测试,又可以理解为单功能测试
是指对软件中最小可测试单元进行检查和验证
单元测试当一段代码完成之后,是由白盒测试工程师或者开发人员自行测试,比如java中执行单元测试叫做junit测试
目前大部分公司单元测试由开发人员简单编译和调试一下自己的程序,没有相应的单元测试计划
单元测试方式:先静态地观察代码是否符合规范,然后动态地运行一下代码,检查运行的结果

3.4.2、集成测试

集成测试是单元测试的下一个阶段,是指将通过测试单元模块组装成系统或者子系统,再进行测试,重点测试不同

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值