软工总结(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

相关文章

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta