软件测试的定义&分类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdn0_1/article/details/89432081

一、软件测试的定义
二、软件测试的目的
三、软件测试的作用
四、软件测试的对象
五、软件测试的原则
六、软件测试的分类(测试方法)
七、配置测试、兼容性测试
八、α、β测试
九、冒烟测试、回归测试
十、环境分类
十一、BS、CS架构


一、软件测试的定义

贯穿整个软件开发生命周期,
广义上,是对软件产品进行验证和确认的活动过程,也是对软件产品的质量持续评估的过程
狭义上,就是为了发现错误
软件测试,已从 动态测试 到 静态测试,从狭义 到 广义

验证:看软件是否满足产品规格书的功能和特性
确认:软件是否满足用户的实际需要
动态测试:运行软件系统
静态测试:不运行软件,包括:需求评审、设计评审、代码评审、代码扫描等

二、软件测试的目的

发现问题,并解决问题
消除产品质量风险,从而提高软件的质量
通过已有的bug,建立bug模型,进而预防bug,减少风险,也为以后的其他项目做参考
所以,软件测试的目的,不单单是为发现错误

三、软件测试的作用

对软件产品的质量,进行评估
对软件产品,进行持续的质量反馈
有助于客户(对软件产品)满意度的提升
缺陷预防

四、软件测试的对象

软件源代码
与软件源代码相匹配的文档
支持软件源代码运行的配置数据
需求阶段: 需求文档,目的是看需求文档是否正确实现了用户的需求
设计阶段:概要设计文档、详细设计文档,看是否有设计或逻辑上的错误
编码阶段:对源代码进行测试,发现编程上的错误
系统测试阶段:被测对象,即软件是否满足用户需求

五、软件测试的原则

证明软件存在缺陷(Bug)
穷尽测试是不可能的
尽早介入,越早越好
缺陷存在集群性
杀虫剂悖论
不同测试活动依赖不同测试背景
没有缺陷是一种谬论

1.证明软件存在缺陷(Bug):测试只能证明软件中存在缺陷,但不能证明不存在缺陷,软件测试是为了降低存在缺陷的可能性,即使没有找到缺陷,也不能说软件是完美的
2.穷尽测试是不可能的 :现在的软件规模都很大,复杂度也很高,想要完全性的测试是不可能的,所以,测试人员可根据风险和  优先级来进行集中和高强度的测试,从而保证软件的质量
3.尽早介入,越早越好 : 为什么要尽早介入?简单说就是保证软件质量,降低风险和成本。测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复成本越小
4.缺陷集群性:表明小部分模块包含大部分的缺陷,80%的缺陷在20%的模块中发现。一个模块中发现的缺陷越多,那存在未被发现的缺陷也越多,即:发现的缺陷与未发现的缺陷成正比
5.杀虫剂悖论 :反复使用相同的杀虫剂,会导致害虫产生免疫,无法杀死害虫。测试也一样,如一直使用相同的测试方法或手段,可能无法发现新bug。所以,测试用例应定期修订和评审,增加新的、不同的测试用例来帮助发现更多bug。测试人员不能一直依赖现有测试技术,要不断创新来提高测试效率
6.不同测试活动依赖不同测试背景 :如电商、金融、游戏行业的测试技术、测试工具、测试流程都不同。所以,不同测试活动用不同方法
7.没有缺陷是一种谬论 :即使没有找到缺陷,也不能说没有缺陷

代码开发出来后,再执行测试,为动态测试
但如果此时发现该软件功能设计不合理或性能不好,就要修改需求和设计,就要返回到需求定义阶段和设计阶段,造成很大代价
所以,有必要将软件测试延伸到需求、设计阶段,即对阶段性成果(需求文档、设计文档)进行验证,从而将动态测试延伸到静态测试
尽早发现问题,把问题消灭在萌芽,从而,将每个阶段产生的缺陷及时消除,提高产品质量,降低企业成本

六、软件测试的分类(测试方法)
 


其他测试:冒烟测试、回归测试、随机测试等

七、配置测试、兼容性测试

配置测试:是保证软件在其相关的硬件上能正常运行
兼容性测试:是看软件能否与不同的软件正常协作

常见的就是浏览器的兼容性测试
不同浏览器在css,js解析上的不同,会导致页面显示不同
常见 IE8 的兼容性

八、α、β测试

α:前期用户测试(内部测试)
   是把用户请到开发方的场所来测试,或开发机构的内部人员模拟实际操作环境进行的测试
   开发、测试人员在身边,发现问题及时沟通解决,在受控环境执行测试
β:后期用户测试(公测)
   是用户在实际使用环境下的测试
   因为开发、测试不在身边,所以,是在不受控环境下的测试,不知道用户如何折腾软件,且用户数量相对多,
   时间不集中,如出现问题由用户记录,定期向开发者报告并作修改

注:先 α后 β,但 β 测试的周期长,一旦 β 通过了,离正式发行就不远了了

九、冒烟测试、回归测试

冒烟测试:在开发人员开发完毕后,送给测试人员进行测试,测试人员会先冒烟测试,保证基本功能能走通,不妨
         碍后续测试,如冒烟不通过,则打回给开发,直至冒烟通过
回归测试:是开发人员修改了已提交的BUG后,测试人员进行再一轮的测试,主要是检查BUG是否被修复,BUG相关
         功能是否被影响

注:只有公司需要时才冒烟,并不是任何时候都冒烟,因为实际工作中项目往往比较紧,即使冒烟也需要好久
当项目快上线,测试经理会通知测试人员再把所以功能测试一次,以保证上线后不会出现问题,也叫回归测试。回归在整个测试过程中占有很大比例,各个阶段都会进行多次回归测试;新版本的连续发布,回归测试会更频繁,甚至每天会进行若干次回归测试

十、环境分类

开发环境:开发人员编译代码的环境
测试环境:测试人员模拟真实用户的使用环境
生产环境:又叫正式环境,是指客户使用的环境

十一、BS、CS架构

BS架构:只需一个浏览器就可以访问服务(如:csdn官方在线、博客园官方在线)
CS架构:必须安装客户端才可以使用(如:QQ、微信)

猜你喜欢

转载自blog.csdn.net/csdn0_1/article/details/89432081