软件测试概念

本人从毕业到现在,已经在测试行业摸爬滚打了7-8年了,说实在的很多时候都是在重复着功能黑盒测试,自己也没有好好认真的去学习和深挖测试领域的新技能和方法,所以直到现在都很初级或是懂得很皮毛吧!
今天开始,做些关于软件测试领域的理解和自己测试过程中遇到的些问题和工具的使用,也谢谢各位大神的指导!
开篇必须做概念性的介绍,从整体层面去了解软件测试究竟是什么,揭开它神秘的面纱。
  • 什么是软件测试?
软件测试,是一种用来促进鉴定软件的正确性、完整性、安全性质量的过程。(对,它是一个过程:有操作、有识别、有衡量、有评估)
换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。
软件测试的经典定义是:在规定的条件下(行业标准、客户要求、研发团队内部因素)对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
可使用人工操作或者软件自动运行的方式来检验是否满足规定的需求弄清预期结果与实际结果之间的差别过程
 
  • 如何衡量软件的质量?
软件质量:软件与明确的和隐含的定义的需求相一致的程度。通俗点就是,软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的和隐含特征相一致的程度。
 
先来看看影响软件质量的因素:
产品运行:正确性、可靠性、易用性、完整性、效率
产品修改:维护性、灵活性、易测试性
产品转移:可移植性、可操作性、可复用性
满足上面所有影响因素,就能证明软件的质量是好的么?当然。但即使没有满足这些所有因素,在某些特定条件下,也能说明软件的质量是好的。
例如:客户的要求,满足客户对软件质量的要求(如:数据正确;但不要求界面美观),这样的软件交付给客户,客户也认为质量是好的,满足了它实际需要的上线质量标准。
作为测试人员,阶段性的完成测试工作,也需要评定当前软件的质量,以便研发项目组内做相应的决策。
但BUG多的功能或模块就一定意味着质量差么?不一定!要看软件功能或模块的结构、复杂度、优先级、重要性来决定。
例如1:A模块是核心模块,算法复杂,绝对不能出数据问题,哪怕阶段测试发现数据类问题不多,但却影响很大很广(关联影响大),这意味着质量堪忧。团队必须尽快分析根因、制定解决措施,预估风险,控制关联影响问题反复发生。
例如2:B模块是非核心模块,使用频率可能并不高,但阶段测试发现各类问题很多,这也不一定意味质量不好,它的修复优先级可能并不高。团队优先处理类似A模块的问题更重要。
 
  • 软件测试的分类?
1、角度细分:
1)从是否关心软件内部结构和具体实现的角度划分:
a、黑盒测试(现阶段重点关注)
b、白盒测试
c、灰盒测试
2)从是否执行程序的角度:
a、静态测试(文档评审)(现阶段重点关注)
b、动态测试(系统操作)(现阶段重点关注)
2、阶段细分(软件开发过程):
1)单元测试/功能测试(现阶段重点关注)---注:这里先关注功能测试,而非开发类的单元测试
2)集成测试(现阶段重点关注)---注:接口测试、场景测试
3)确认测试
4)系统测试(现阶段重点关注)
5)验收测试
6)回归测试(现阶段重点关注)
7)Alpha测试
8)Beta测试
需要了解每个阶段的测试分别是何时做、范围是什么、侧重点是什么(留给大家思考)
 
  • 软件测试V模型

-----------------------------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值