软工总结(20—23)——软件测试

          在软件的分析、设计、实现等开发阶段尽管开发人员采取了许多保证软件产品质量的方法,但是错误和缺陷是不可避免的,而软件测试时提高软件质量和可靠性的重要手段之一。软件测试人员要确信的是一个系统肯定是有错误的,如果测试阶段没有发现问题,只能证明测试的方法不对。
          而这次视频讲软件测试这部分讲的也比较细,而且设计的知识面也比较广泛。他在讲每一个知识点的时候都会联系到其他的知识点,这是有利于我们学习的。但是也给总结带来了一些难度,为了让总结思路清晰,和方便突出重点。我把软件测试、分为基本概念、找问题和解决问题。
          基本概念
                 重要性和目的: 一个东西为什么存在,它存在的价值是什么?往往会从它的重要性和目的两方面介绍。开始介绍软件测试也是如此,刚开始就以美国飞往火星的火箭爆炸,是因为一个循环中的一个逗号,写成了小数点举例,说明软件测试的重要性。然后又说软件测试的目的:(1)测试是一个程序执行的过程,其目的在发现错误;(2)一个好的测试用例很可能发现至今尚未发现的错误;(3)一个成功的测试用例能发现至今尚未发现的错误。其实总的来说测试用例的目的就是发现错误。
                 特点: 然后想了解这个东西,就要知道它的特点。软件测试的特点是(1)软件测试的开销大。(2)不能进行穷举测试。举例:输入两个整数,输出一个数。假如在32位计算机上运行,1m执行一次。那么穷举测试需要 2^32 x 2 ^32 = 2^64 共需5亿年。 (3)软件测试难度大。是指即不能进行穷举测试,还要找到尽可能多的问题,所以难度大。
                 原则:知道了这个东西的目的、和特点,下面要想用好这个东西,就要知道它的原则。只有遵循它的原则它才能更好地为你服务 。在视频中讲到了很多软件测试的原则,我把它大致分为三个阶段。 
                测试前:(1)应尽早地和不断地对软件进行测试。在视频中也提到,错误发现的越早,连带性越弱,越容易解决。(2)开发人员避免测试。这个我们应该挺有感触的,在敲机房的时候,自己调试没有什么错误,一到师傅那是全部是错啊!(3)注重测试用例的设计和选择。(测试用例解释)(4)严格执行测试计划。测试计划是高技术人员更具系统特性和易出错点还有经验编写的,测试人员一定要严格的执行,才能发现尽可能多的问题。  测试中:(1)注意群集现象。也就是在出错比较多的地方,要重点测试 。(2)全面检查每一个测试结果。对测试用例产生的结果一定要全面、细致的检查。分析结果时候正确、合理。是否存在错误。 测试后:(1)妥善保管测试文档。测试计划、测试用例、测试结果,出错统计等文档都要妥善保管,为以后的维护提供方便。

           找问题:基本概念介绍完后,对软件测试有了一个大致的了解。下面来说一下具体怎样找出软件中可能存在的问题。我把软件测试找系统中可能存在的问题分为三部分:计划、步骤、方法。而其中方法是为步骤服务的,所以将在步骤中穿插讲解,不在单独讲解。
                  计划:凡事预则立不预则废,做任何事情都要有计划,更何况是这个集体合作型的。所以在测试之前要提前编写文档,制定计划。(1)测试计划。测试计划是测试软件的指导性文档,它吧包含了测试的范围、方法、工具、进度、测试的项目于特性。在测试计划中会明确说明需要测试的任务和每个任务的负责人。(2)测试规范。规范测试工作的一些原则。(3)测试用例:所用测试实例。
                  步骤:有了计划之后,接下来就要说一下软件测试的具体步骤。这里需要说一下的是软件测试不想我们平时的代码调试。软件测试涉及到需求分析、软件设计、软件实现这些软件开发的全过程。
                   (1)单元测试也称模块测试。单元测试的目的是检查模块的内部错误。因此,测试方法以白盒法为主。
                     单元测试的内容:模块接口、局部数据结构测试、重要路径测试、边界条件测试、错误处理测试
                     驱动模块:模拟主程序或者调用模块的功能,用于向被侧模块传入数据,或者接受、打印被测模块返回的数据。也就相当于他的上级模块。     桩模块:也称加模块,用于模拟 被测模块的调用模块。相当于下属模块。
                  (2)集成测试。在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行测试,也叫联合测试或组装测试。 集成测试重点测试模块接口、设计测试所有使用的驱动模块和桩模块。主要方法是黑盒法。
                               集成测试的方法有两种:非渐曾式测试 和渐增式测试。渐增式测试又分为:自顶向下组装、自底向上组装、混合增值。
                 (3)确认测试。验证系统的功能、性能等特性是否满足需求规格说明。  主要运用黑盒法。
                 (4)系统测试。这一步就不在单单的对软件进行测试了,要求软件和硬件结合,构成可以运行的系统进行测试。测试的方面有:功能、性能、安全性、恢复、强度、文档定。
                 (5) α 测试、 β 测试 。 α 测试  主要是用户测试,开发人员在现场记录出现的错误。  β 测试是多个用户实际测试,然后用户反应出错的情况,其实相当于免费使用。 
         (6)验收测试 是测试阶段的最后测试,以用户测试为主,测试方法、测试过程和系统测试基本相同。主要以黑盒测试为主。
          小结:1、软件测试先是以功能为主(白盒法),看功能是否都实现了。然后以结构为主(黑盒测试)看软内部结构是否完整,清晰,合理。2、 软件测试由小到大,由简到繁 。
           
        解决问题
           当问题找出以后接下来就是解决问题,解决问题最重要的还是靠经验和分析。当然这是比较费脑筋的,如果想省事就只有套公式了。
        
          总结:从软件测试的复杂程度,感悟到程序员标准和文档的重要性。如果开发一个软件完全按照自己的思路去编写,那么后面的软件的组合时会出很多问题,而且也不利于后期的维护。所以软件开发要有全心全意为人民服务的理念。
             


                            
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值