一。为什么需要软件测试
一款软件从无到有会经历很多开发阶段由不同的人来参与开发,所以最终产出的软件功能会存在问题。因此为了保证软件的功能是可用的,我们必须进行测试。
当前的软件行业已经不在是功能为王了,用户不仅仅只盯着功能是否满足需求,还会对软件是否容易上手,执行效率是否OK…等一系列其他体验都有了更高的要求,所以这也需要我们对软件进行大量的测试。
二、软件测试基本介绍
1、软件测试定义
通过手工或者工具对“被测对象”进行测试操作,从而验证实际结果与预期结果是否存在差异。
2、软件测试的作用
通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心。
测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持。
测试可以降低同类型产品开发遇到问题的风险。
3、软件测试的七个原则
所谓的测试的原则就是我们在执行测试工作时必须要遵守的一些规则。
一、测试显示软件存在缺陷 Testing shows presence of defects测试只能证明软件中存在缺陷,但并不能证明软件中不存在缺陷。软件测试是为了降低存在缺陷的可能性,即便是没有找到缺陷,也不能证明软件是完美的。
二、穷尽测试是不可能的Exhaustive testing is impossible
现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中和高强度的测试,从而保证软件的质量。
三、测试尽早介入Testing early为什么测试要尽早介入呢,简单的说就是保证软件质量,降低风险和成本。测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
四、缺陷集群性(2/8原则)Defect clustering缺陷集群性表明小部分模块包含大部分的缺陷。软件测试中存在帕累托Pareto原则:80%的缺陷发现在20%的模块中。
一个功能模块发现的缺陷越高,那存在的未被发现的缺陷也越高,故发现的缺陷与未发现的缺陷成正比。
五、杀虫剂悖论Pesticide Paradox反复使用相同的杀虫剂会导致害虫对杀虫剂产生免疫而无法杀死害虫。软件测试也一样。如果一直使用相同的测试方法或手段,可能无法发现新的bug。
为了解决这个问题,测试用例应当定期修订和评审,增加新的或不同的测试用例帮助发现更多的缺陷。
测试人员不能一直依赖于现有的测试技术,而要不断的提升测试方法以提高测试效率。
六、测试活动依赖于测试内容 Testing is context dependent
根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业。不同的行业,测试活动的开展都有所不同,比如测试技术、测试工具的选择,测试流程都不尽相同,所以软件测试的活动开展依赖于所测试的内容。
七、没有错误是好事谬论Absence of error-fallacy有可能99%没有bug的软件也是不能使用的。如果对错误的需求进行了彻底的测试,这种情况就发生了。软件测试不仅是找出缺陷,同时也需要确认软件是否满足需求。如果开发出来的产品不满足用户的需求,即便找到和修复了缺陷也作用不大。
三、测试对象
对于当前的测试行业来说我们最经常测试的主体就是软件(主体功能),但是需要我们明白是一个软件也不仅仅只有功能需要测试。我们可以将软件分为三个部分组成:功能集合+
使用说明+配置数据。
对于一款软件来说从无到有需要不同的过程,我们可以将这个过程分为不同的阶段,然后每个阶段都会相应有测试对象
1.需求分析阶段:各种需求规格说明说。
2.软件架构设计:API接口文档(接口测试)
3.编码实现阶段:源代码(白盒测试、单元测试)
4.系统功能使用:软件功能主体(当前行业做的最多的一种测试)
四、测试级别
软件的开发都会依据相应的开发模型,而测试级别指的就是在这个模型当中我们人为定义的开发步骤。其中对于测试来说我们最常见的一种级别分类如下:
1.单元测试[UT unit test]
在软件测试中单元指的就是组成软件最小的底层代码结构,一般就是类、函数、组件(当下的软件测试行业,不会刻意要求测试人员对源代码进行测试2.集成测试[IT system ingertaion test]
将多个单元模块组合在一起,然后验证他们之间沟通的“桥梁”是否能正常工作(接口测试)
3.系统测试[ST system test]
这是当前行业做的最多的一种测试。由测试人员充当用户然后对软件的功能主体进行测试。
4.验收测试
(1)c测试—>(内测)-(2)β测试-——>(公测)
(3)UAT(user acceptance test)测试—>由客户派出对于业务非常精通的人员来使用该软件,从而对功能进行测试
(4)验收测试的核心就是让用户为当前软件“买单”
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!