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

2024-08-26 04:58
文章标签 总结 软件测试 23 20 软工

本文主要是介绍软工总结(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、 软件测试由小到大,由简到繁 。
           
        解决问题
           当问题找出以后接下来就是解决问题,解决问题最重要的还是靠经验和分析。当然这是比较费脑筋的,如果想省事就只有套公式了。
        
          总结:从软件测试的复杂程度,感悟到程序员标准和文档的重要性。如果开发一个软件完全按照自己的思路去编写,那么后面的软件的组合时会出很多问题,而且也不利于后期的维护。所以软件开发要有全心全意为人民服务的理念。
             


                            

这篇关于软工总结(20—23)——软件测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107608

相关文章

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识