软件测试误区

你真的了解软件测试吗?——目前软件测试几大误区 目录误区1:软件开发完成后才进行测试误区2:软件发布后发现软件问题,那是测试人员的责任误区3:测试简单,对技术要求不高误区4:由项目进度来决定测试工作量误区5:总有一天,机器自动化将代替人工测试总结 随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识,这将会进一步的影响软件测试活动的开展,并且阻碍软件测试质量的提高。 我们暂且不去评析软件测试在当今it 阅读详情

软件测试的误区

马均飞 郑文强

随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识,这将会进一步的影响软件测试活动的开展,并且阻碍软件测试质量的提高。下面简单列举了几种有代表性的对软件测试的认识误区,并作了相应的分析和解释。

误区1:软件开发完成后才进行测试

在传统的瀑布模型中,软件项目主要有一下几个阶段组成:用户需求、需求分析、概要设计、详细设计、编码和实现、测试以及运行维护。由于软件测试仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。因此人们一般认为,软件测试只是软件编码后的一个阶段。

但随着软件测试业的发展,人们越来越认识到:软件测试不应只是软件项目的收尾工作,而应该在软件生命周期的每一阶段中都包含测试。软件测试是贯穿于整个软件开发生命周期的过程活动,包括软件测试计划、软件测试需求分析、软件测试用例设计、软件测试执行、软件缺陷管理、软件测试风险管理以及其他的一些软件测试相关的活动等等组成。在软件项目的每个阶段,都需要进行不同目的和不同内容的测试活动,以保证各个阶段工作产品输出的正确性。软件测试的对象也不仅仅是软件代码,还包括软件需求文档和设计文档等其他所有的软件工作产品。软件开发与软件测试之间应该是交互进行的,比如单元编码之后需要进行单元测试,模块组合之后进行集成测试。

如果等到软件编码结束之后才进行测试,测试的时间很有限,很难达到测试的覆盖率要求和测试的质量要求。同时,假如在项目开发的后期,发现一些软件需求阶段和概要设计阶段的错误和问题,修改这些缺陷导致的成本将是非常高的。有资料表明:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3-6倍,在编程阶段是它的10倍,在内部测试阶段是它的20-40倍,在外部测试阶段是它的30-70倍,而到了产品发布出去,这个数字就是40-1000倍。修正错误的代价不是随着时间线性增长的,而几乎是呈指数增长的。因此,应尽早地不断地进行软件测试,发现错误并加以修正,而非软件开发结束后才进行测试。

误区2:软件发布后发现软件问题,那是测试人员的责任

许多人认为测试人员需要对发布的软件质量负责,假如软件到用户后,发现很多的问题,那是测试人员的错和责任。这种认识误区非常打击测试人员的积极性。软件中的缺陷可能来自软件开发过程中的任何一个过程,而对于软件测试而言,只能证明软件存在缺陷,而不能保证软件没有错误。通过软件测试,无法发现软件中的所有错误和缺陷。从软件开发的角度看,软件的高质量不是软件测试人员测出来的,而是需要软件生命周期的各个过程共同来保证的。出现软件错误,不能简单地归结为某一个人或某个团队的责任。比如有些错误的产生可能不是技术原因,可能来自于混乱的项目管理;或者客户发现软件某些功能并没有按照原有需求来实现,换言之,软件没有完成客户想做的操作,诸如此类问题很可能是软件设计人员理解需求错误致使设计不当所引起的。

软件的质量,不仅仅只是测试人员的事情,软件项目参与的所有人员都应该关注软件的质量。软件质量的提高,需要每个项目人员的努力。测试只是提高软件质量的一个重要环节,质量保证应该贯穿于整个软件开发生命周期的所有的开发活动、测试活动、项目管理活动等。同时,采用合适的开发和测试过程,对改进软件质量也能起到重要的作用。除了测试活动外,同时应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。

误区3:测试人员不需要具备很高的技能

不少软件业人士认为软件测试行业对软件测试人员的技能要求不高。认为测试只是对照产品规格书操作软件,发现软件与规格说明不一致的地方,是没有技术含量的工作。

这种观点是错误的,或者至少是步恰当的。随着软件测试行业的发展,测试不仅仅是运行软件发现缺陷的一个过程,而是从项目早期,测试人员就开始介入,进行测试需求分析、计划测试等。这要求测试人员有很好的沟通能力、理解能力、分析问题能力,同时还必须对产品开发技术有一定的了解。

随着软件工程学的发展和软件项目管理经验的提高,软件测试已经形成了一个独立的技术学科,演变成一个具有巨大市场需求的行业。软件测试技术不断更新和完善,新工具、新流程、新测试设计方法都在不断更新,需要掌握和学习很多测试知识。所以,具有编程经验的程序员不一定是一名优秀的测试人员。软件测试包括测试技术和管理两个方面,完全掌握这两个方面的内容,需要很多测试实践经验和测试理论知识,需要我们不断的学习。

误区4:测试是测试人员的工作,和开发人员无关

我们提倡软件测试尽早介入软件项目,或者说我们提倡贯穿于整个软件开发生命周期的测试。因此,在项目概念、需求和设计阶段,软件测试就应该介入项目中去。开发和测试是相辅相成的过程,需要软件测试人员和程序员、系统分析员等项目其他成员保持密切的联系,需要更多的交流和协调,以便提高测试效率。在这些阶段所发现的问题将有助于开发设计人员完善需求和设计。

在项目开发过程中,一般由开发人员针对模块进行白盒测试,这是早期的测试。后期对于测试人员所发现的缺陷,开发人员应根据优先级来进行修复,针对开发人员的修改,测试人员还要进行再测试和回归测试工作。因此,在整个项目过程当中,测试也不仅仅是测试人员的事情,而是测试人员和开发人员紧密合作的过程。

误区5:由项目进度来决定测试工作量

规范的测试流程应该是一个整体的连续的过程,包括测试计划和控制、测试分析和设计、测试实现和执行等阶段。每一阶段也应有各自的规程。而大多数人对测试的理解往往是随项目进度而定,即离项目交付空余的时间多,就多做测试;反之,则少做测试。这样很可能导致测试时间紧张,从而可能放弃其中的一些测试,可能导致遗漏一些重要的缺陷,显然这种做法存在非常大的风险。

测试进度由项目开发进度来确定,这个观念很大程度上是因为“测试是开发生命周期的一个阶段”这个误区造成的。实际上,我们一直强调,测试是贯穿于整个软件开发生命周期的。在制订软件项目计划的同时,就需要规划和制订软件测试的计划。测试计划的一个重要内容是确定测试的进度(也就是测试时间和资源的安排)。因此,测试时间的多少,应该在项目早期根据项目的特点和风险分析结果来确定,而不仅仅是决定于项目进度。

误区6:软件测试是没有前途的工作,只有开发人员是软件高手

由于我国软件整体开发能力比较低,软件过程还不规范。项目的成功往往靠个别开发人员的能力,他们负责总体设计和程序详细设计,认为软件开发就是编写代码,给人的印象往往是程序员是真正的牛人,具有很高的地位和待遇。因此,在这种环境下,软件测试并不受重视,软件测试人员的地位和待遇自然就偏低了,甚至软件测试变得可有可无。

随着市场对软件质量要求的不断提高,软件测试将变得越来越重要,相应的软件测试人员的地位和待遇将会逐渐提高。在微软等软件过程比较规范的大公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀测试人员的待遇甚至比程序员还要高。软件测试将会成为一个具有很大发展前景的行业,软件测试大有前途。市场需要更多具有丰富测试技术和管理经验的测试人员,他们同样是软件专家。

误区7:自动化测试效率高,将取代软件手工测试。

测试自动化在某些情况下可以提高测试的效率(比如完成重复的测试配置、模拟大虚拟用户等),但是并不是所有的测试都适合自动化,如程序需要处理的数据量不大、程序运行的次数不多、或者测试需要一些人的主观判断(如界面测试)等,在这些情况下,自动化测试可能并不是很好的选择。

同时,自动化测试需要在前期投入大量的资源和工作量,同时需要维护的成本很高,包括环境的搭建、测试脚本的设计、维护等。因此,要具体情况具体分析,不能盲目推崇测试自动化。 

CTFshow MISC入门实战:010Editor+TweakPNG解决PNG隐写难题(附完整脚本) 本文详细介绍了在CTFshow MISC比赛中,如何利用010Editor和TweakPNG两款专业工具构建高效的PNG隐写分析工作流。文章从PNG文件结构解析入手,通过实战案例演示了如何协同使用010Editor进行二进制侦察与结构分析,以及使用TweakPNG进行数据块的精准编辑与删除,并最终提供了自动化分析脚本,帮助选手系统性地解决PNG隐写难题。 阅读详情

相关推荐

【文本分析学习】Anaconda+pytorch虚拟环境下的pycharm文本分析(含分词、词性标注、词形归一化、停用词、文本情感分析、词频、文本相似度,附数据代码) NLTK

文本分析学习之 Anadconda+pytorch虚拟环境下的pycharm文本分析(含分词、词性标注、词形归一化、停用词、文本情感分析、词频、文本相似度,附数据代码)

littlexmj的博客 2333

软件测试常见的20个误区,你真的了解吗?

数据库是开发和测试最基本的技能,软件前后端的交互,本质就是数据的交互,不管是功能测试,性能测试,接口测试,自动化测试等等,都离不开数据库的支撑和使用,这一部分主要是了解数据库的基本概念,数据库SQL增删改查,常见的表操作语句,以及数据库工具(Navicat)的使用。性能测试的技术要求很高,不仅要对性能的指标,测试的分类,测试设计有深刻的理解,还要学习系统业务和架构相关知识,这样才能更好的设计性能场景,分析出系统的性能瓶颈。由于是从接口层测试,能更早的发现问题,提高测试的效率,降低修复的成本。

HUA1211的博客 951

Simulink Test Sequence自动化测试实战:从Excel到模型验证

本文详细介绍了如何利用Excel和MATLAB脚本实现Simulink Test Sequence的自动化测试。通过设计结构化Excel模板管理测试数据,并调用Simulink Test API批量创建与执行测试用例,该方法能显著提升复杂模型单元测试的效率,便于集成到CI/CD流程,实现从数据到验证的全自动化。

weixin_29261711的博客 144

软件测试五大误区,你中招了吗?

软件测试是软件开发生命周期中至关重要的一个环节,它可以帮助我们发现软件中的缺陷和问题,并提高软件的质量和稳定性。但是,在软件测试过程中,有些常见的误区可能会导致测试效果不佳,甚至会影响到软件的质量和稳定性。因此,本文将介绍软件测试中的5个常见误区,并提供相应的解决方案,希望可以帮助测试人员避免这些误区,提高测试效果。1. 测试人员只关注功能测试,忽略其他类型的测试功能测试是软件测试中最基本的测试类...

测试架构师 398

论文笔记:Group Equivariant Convolutional Networks

Group Equivariant Convolutional Networks 1、四个问题 要解决什么问题? 对卷积神经网络进行扩展,并提出一个在特定的变换(旋转、平移等,也可表示为一个特殊的群)下具有等变性的网络。 用了什么方法解决? 提出了一种新的卷积神经网络结构——群等变卷积神经网络(Group equivariant Convolutional Neural Network)...

hongbin_xu的博客 1万+

Python自动化测试全套教程-第一天(python、pycharm开发环境的安装与配置(图文超级详细);附安装包)

本文介绍了Python开发环境的完整安装配置流程。主要内容包括:1) Python解释器的下载安装与版本检测方法;2) PyCharm IDE的下载安装步骤,包括专业版和社区版的选择;3) PyCharm的基础配置和项目创建方法;4) 开发环境的基本构造说明。文章提供了两种获取安装包的方式(官网下载和文章附件),并详细说明了解释器卸载、安装过程中的注意事项,以及如何验证环境配置成功。特别强调了PyCharm安装时的路径选择和虚拟环境的创建方法,为Python初学者提供了完整的开发环境搭建指南。

kiwi_king的博客 2035

揭秘软件测试中的10个常见误区,你有多少中招了?

软件测试是衡量和保障软件质量的重要环节,常常被误解和低估。在软件开发的各个阶段中,测试工作的重要性不言而喻,但测试领域的一些常见误区导致软件项目偏离轨道。 本文就来介绍下关于软件测试的10个误区,看下你命中了几个。

500

【 Git学习记录(三)】推荐四款主流的Git代码托管平台 —— GitHub、GitLab、Gitee、Coding

了解过Git之后,作为一个程序猿最基本的,你还需要了解目前主流的在线代码托管平台,并至少选择其中一款在平时开发中使用。这里特别介绍以下四款: 国外平台 GitHub —— 全球最流行的代码托管平台 GitLab —— 基于git的仓库管理程序 国内平台 Gitee —— 开源中国旗下的代码托管平台 Coding —— 支持社交元素的代码托管平台 一. GitHub 链接地址:https://github.com/ GitHub目前是全球最流行的代码托管平台(别称:全球最大的同性交友.

JZevin的博客 6092

软件测试的 20 个误区

软件测试中常遇到的 20 个误区,争取能给想从事软件测试的小伙伴一点启发。

okcross0的博客 321

mapbox高阶,加载倾斜摄影

本文详细介绍如何基于mapbox-gl v3.8.0版本实现倾斜摄影的加载,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 345

Openclaw 错误分析 与 解决方案 之:Selected model is at capacity. Try a different model, or wait and retry.

Openclaw 错误分析 与 解决方案 :Selected model is at capacity. Try a different model, or wait and retry.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 6422

软件测试七大误区

有资料表明:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3-6倍,在编程阶段是它的10倍,在内部测试阶段是它的20-40倍,在外部测试阶段是它的30-70倍,而到了产品发布出去,这个数字就是40-1000倍。测试自动化在某些情况下可以提高测试的效率(比如完成重复的测试配置、模拟大虚拟用户等),但是并不是所有的测试都适合自动化,如程序需要处理的数据量不大、程序运行的次数不多、或者测试需要一些人的主观判断(如界面测试)等,在这些情况下,自动化测试可能并不是很好的选择。

chengxuyuznguoke的博客 918

YOLO26改进策略【卷积层】| SPD-Conv 针对小目标和低分辨率图像的检测任务

SPD-Conv是一种新的 CNN 构建模块,用于替代传统 CNN 架构中使用的步长卷积(strided convolution)和池化(pooling)层,它由空间到深度(Space-to-depth,SPD)层和非步长卷积(non - strided convolution)层组成。

Limiiiing的博客 359

软件测试的几个误区

随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识,这将会进一步的影响软件测试活动的开展,并且阻碍软件测试质量的提高。下面简单列举了几种有代表性的对软件测试的认识误区,并作了相应的分析和解释。 误区1:软件开发完成后才进行测试   在传统

qq_30044187的博客 1189

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

软件测试的十大误区

这是“瀑布模型”开发流程的一个典型特征,但在敏捷开发和DevOps文化中,测试是一个持续的过程,从需求收集开始,一直到产品发布和之后。测试用例的质量比数量更重要,有效的测试用例应该能够覆盖不同的使用场景和潜在的错误路径,而大量的重复或无关紧要的测试用例会浪费资源。通过打破软件测试的误区,我们能够更有效地将测试集成到软件开发过程中,确保我们交付的不仅是代码,而是质量可靠的产品。测试的成功不应该仅仅依据找到的缺陷数量来衡量,更重要的是,测试能否确保产品满足了用户的需求和期望。不仅仅关乎技术,更关乎心态和方法。

huace3852的博客 774

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

软件测试7大误区

有资料表明:平均而言,如果在需求阶段修正一个错误的代价是1,那么,在设计阶段就是它的3-6倍,在编程阶段是它的10倍,在内部测试阶段是它的20-40倍,在外部测试阶段是它的30-70倍,而到了产品发布出去,这个数字就是40-1000倍。测试自动化在某些情况下可以提高测试的效率(比如完成重复的测试配置、模拟大虚拟用户等),但是并不是所有的测试都适合自动化,如程序需要处理的数据量不大、程序运行的次数不多、或者测试需要一些人的主观判断(如界面测试)等,在这些情况下,自动化测试可能并不是很好的选择。

wqda125的博客 1204

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

软件测试认识中的误区

软件测试认识中的误区摘要由于人们对于软件质量的重视程度越来越高,就导致了测试在软件开发中的地位越来越重要。是的,测试是目前用来验证软件是否能够完成所期望的功能的唯一有效的方法。在这一趋势的引导下,现在很多软件相关的公司都非常重视对于他们所开发的软件的测试,甚至不惜花费巨资购买商用的测试工具,但是效果却不一定理想。究其原因主要是存在着对于软件测试的诸多误解。本文试图对一些比较普遍的关于测试的误解

软件开发资料汇总 514

软件测试工作的几个认识误区

软件测试工作的几个认识误区: 1.      整体认识上重开发而轻测试; 2.      软件开发完成后进行软件测试; 3.      软件测试是为了证明软件的正确性; 4.      软件发布后如果发现质量问题,那是软件测试人员的错; 5.      软件测试要求不高,随便找个人就行; 6.      软件测试是软件开发的对头; 7.      软件测试是测试人员的事情,与程序员无

csdn1647090102的博客 604

软件测试认识的几个误区

随着市场对软件质量的不断提高,软件测试不断受到重视,但是由于总体上,国内软件项目过程不规范,导致重视编码和轻视测试的现象,对于软件测试的重要性、测试方法和流程等还存在很多错误的认识。根据作者的软件工作经验,本文列举了六种有代表性的认识误区,并作了剖析和相应的解释。希望对软件行业的技术和管理人士,正确认识软件测试起到一定的作用。

Hacker_xingchen的博客 295

你应该知道的软件测试28个误区

手工测试是测试的基本功,也是每一个测试必经之路,但是真正做好的人没有几个,很多人认为手工测试就是点点点,我认为这个说法就是对测试的污蔑,手工测试的范围很大,包含涉及的内容也非常多,例如数据准确性,表单值域,逻辑分析,业务梳理,交互易用性,逆向思维,UI兼容性,cookie等…测试是系统它爹,开发是系统它妈,当妈的那么痛苦的生出来,当爹的要揍,当妈的能同意么,脾气上来了,当爹你就缓一下,哄哄,当妈的也不是傻子,她也知道对错的,当妈的要实在糊涂,那你还犹豫什么,抽她(哈哈,开个玩笑,还是要以理服人)。

qq_73332379的博客 842

对于软件测试四大误区的认识

第一大误区: 认为测试只是点点点,没有任何技术含量可言 大多数人都认为软件测试的工作就是安装和运行程序,点点鼠标,按按键盘,点点手机屏幕的事情,这是对软件测试最常见的评价,为何会出现这样的结果,那是因为他们对软件测试的具体的技术和方法不了解而造成的。在我的认知里,测试反而对技术要求更高,因为他不像开发人员一样,只要求你的编程能力很强就可以了,软件测试需要你的需求分析能力,业务能力,有要识别代码的能力,最起码要熟悉一门语言,还要有一定的编写能力,等等。随着时代的不断进步,软件测试已经形成了一门独立的技术科学,

软件测试技术资源分享官 844

软件测试的误区

  随着软件测试对提高软件质量重要性的不断提高,软件测试也不断受到重视。但是,国内软件测试过程的不规范,重视开发和轻视测试的现象依旧存在。因此,对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识,这将会进一步的影响软件测试活动的开展,并且阻碍软件测试质量的提高。下面简单列举了几种有代表性的对软件测试的认识误区,并作了相应的分析和解释。 误区1:软件开发完成后才进行测试...

aokai9909的博客 211

软件测试最容易陷入的28个误区

最近跟一些刚刚进入软件测试行业的朋友去交流,发现了一个有趣的现象,就是对于这个行业的很多问题的认识都是一致的片面,当然也可以理解为误区。自己利用一点时间,把他们对于这个行业的认识误区都罗列出来,然后结合自己这么多年的工作经验和大家一同交流一下,毕竟自己也是从这个阶段走过来的,后来者能少走些弯路是最好的。自己整理了软件测试人员最容易陷入的28个误区,文章后面附带思维导图。 1、测试和开发...

weixin_34220179的博客 843
上一篇: 错误、缺陷和失效
下一篇: 测试执行进度计划
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值