• 13
  • 13
分享
  • 谈软件测试一年测试工作总结——软件测试圈
  • 恬恬圈 2021-03-30 16:29:52 字数 3863 阅读 1678 收藏 13

这篇总结推迟了好久,一直想在工作一年之后写一篇总结,由于各种琐事以及感觉想法的不成熟,一推再推。这两天尤为强烈,不管怎样都应该把这一年多测试工作学到的知识和想法记录下来。

软件测试行业在国内发展时间较短,每个公司对软件测试公司的定位和工作内容也不经相同。本人只在一个公司从事测试工作并时间不长,如有偏见欢迎指正,不胜感激。

个人对功能、性能、自动化三个方面测试的认识

功能测试的重点在哪儿?

说一下本人对功能测试的理解,关于功能测试重点在对被测系统的了解上。至于测试方法:等价类划分、边界值、错误推测、因果图....等测试方法很容易理解。把这些方法应用到系统功能测试中也不难,关键是如何应用?这里又引出了一个东东,叫“需求文档”?一个系统不是你想测什么就测什么?也不是你认为它是bug它就是bug的。

例如:一个登录,用户名没区分大小写,我是用小写注册的,但是登录时,我用的大些却可以登录,这算一个bug吗?不是个人认为的是或不是的,要根据需求来判定。

需求很重要,好吧!能得到一份完整或不变的需求对测试人员来说应该是一件很幸福的事儿?因为我们少去很多麻烦。好吧!假如一下我们得到了这么一份需求。那我们是不是根据需求就开始对系统进行测试了呢?那么这时开发人员还没把产品整出来,那我们做什么呢?要不想想我们测试什么吧?或怎么对系统进行测试,做哪些验证。这就引出来一个东东。叫“测试用例”。为什么要写测试用例?

想做好功能测试要做好四点:

  1. 非常了解被测试系统,各个功能和各个业务逻辑。

  2. 需求文档,如果你不知道怎么测,那你一定没看需求文档

  3. 测试方法的学习,方法不难理解,如何运用到项目中是关键

  4. 测试用例,在上面三点的基础上写用例,一个用例可以体现出你对上面三点的掌握程度

性能测试水很深!

很幸运刚进公司老大就让我对公司系统做性能测试,那时学了几天JMeter、LoadRunner掌握一些基本操作就以为自己会做性能测试了,在此自我鄙视一下自己的无知。其实,性能测试的重点不在性能测试工具的学习上。天天看到群里有人问,LR怎么用?又录制不了脚本了。脚本回放有错。如何设置XXX?为什么高手能用树叶杀人呢?一般的小罗罗都在抢屠龙刀,倚天剑。以为得到了屠龙刀就是最牛B的人了。

当然,你也通过分析系统的压力点、LR录制脚本,设置用户,做压力,分析结果,整理测试报告。完成了性能测试的整个过程。那么我说这个性能测试报告是有效的,但它不一定是有用的。

为什么说是有效的:因为在性能测试报告中,你把测试环境、测试工具、测试方法、测试结果都描述的很清楚。那么这次性能测试就是有效的。在你所在的环境中,你是测出了这样的效果。并未掺假,全部真实的记录。

为什么说它不一定是有用的,你了解系统架构么?知道数据库、中间件、前端程序的运行方式和处理机制么?了解网络协议么?了解操作系统么?熟悉开发系统的语言么?如javaJVM的内在机理知道么?这些都是系统运行的一部分,都在影响着系统的性能。如果不了解这些,你如何做出有价值的有参考意义的性能测试。如果你的性能测试没有参考意义,那不是自已在逗自己玩么。

为什么要做自动化测试?

貌似好多人都在热追自动化测试,貌似自动化测试比手工测试先进牛B。本人对自动化测试也没什么实际经验,只是对QTP、selenium浅学了两下。这里也讨论两三句。

自动化测试无非就是用工具代替人对系统进行验证,它如何知道怎么验证。这个要你一步一步教它。所以,自动化前期的投入很大。

什么项目适合自动化?

需求变动小、项目周期长、可复用性高。如果不满足这三个条件,你要掂量一下是否要对项目引入自动化。

那么它的找bug能力呢?

我所了解在我的手工测试中,相当一部分bug并非我按照用例测出来的。有统计它只能找出来30%的bug。70%还是要靠手工测试。那投入那么大,找bug能力都不强。为什么还有那么多公司试水,做自动化测试主要是在加入新的功能后保证已经功能的正确性。

那么测试人员要不要学自动化测试呢?

我犹豫了很久还是觉得要。自动化测试毕竟是软件测试的一个趋势。从测试人员的自我技能的提升也一个方向。至于公司是否真的需要自动化测试,自动化测试是否得到很好的收益就另说的了。

下面是个人对一些问题的看法。

测试人员是否要懂代码?

我确认一点代码也不懂的测试人员,工作细心,认真的执行测试用例,也能把测试工作做好。那么你的发展方向在那里?你说可以做需求分析人员、质量管理人员。貌似在偏离软件测试工作。想成为一个软件测试高手,懂代码是必须的,我没见过哪位测试高手或专家对代码是一窍不通的。

不懂开发的人员更能从用户的角度测试?

见某测试人员云云,他们公司招测试人员专招非计算机不懂开发的测试人员来测试,公司的意思是这样的人更能站在用户的角度上去测试软件。好吧!我不想再阐述测试人员不光只是测试界面的工作,也许你们公司就只测界面。我一直不理解有为什么懂了计算机懂了开发就不能站在用户的角度上去测试。非专业的人可以从非专业的角度和思路去非常规的测试点。我认为他也有可能找一些不是bug的bug去给开发人员添乱。

测试人员为什么被“小看”?

可能和上个问题有关,看到好多测试人员在抱怨工资比开发人员低。被开发人员鄙视,不被公司重视。我想有相当一部分人不是学软件测试专业的吧!?好点的是从培训机构出来的,还有些是计算机专业开发知识不够硬,转做软件测试的。还有一些是与计算机专业无关的也能来做软件测试。

不得不说一般的测试工作伸缩性较大,如:功能测试,懂计算机的人员能做,不懂计算机的人员按装测试用例也可进行。但你让他开发个功能试试。不懂编程,肯定做不了。我只想学测试工作入门容易精通难,如果想做一个不被“小看”的测试人员只有提高自己的技术。

如果,你但找出了bug而且提出现这个bug的原因以及告诉开发人员到哪个地方去修复它。我想你会得到开发人员的尊重。如果,你能发现一个深入系统发现一个系统潜在的bug。而你这个bug有可能会公司造成重在损失。由于你的发现挽回了这些损失,那我想你会得到上司的尊重。

测试人员的目标是白盒测试?

好多测试人员把做白盒测试看为测试人员的终极目标。认为做白盒的测试人员是最牛的。

我们来分析一下一个常规的流程,一个开发人员需要了解需求,根据需求编写某一功能代码。那么白盒测试人员要对开发人员的功能代码进行单元测试。那么他也需要了解这个功能需求,了解被测功能代码,写白盒测试用例,他还需要保证测试用例代码的准确性,覆盖率等等。这个过程的成本是很高的。

我不否认有Junit、Qunit等测试框架可以提高测试效率。那么我们经过白盒测试的功能代码是没有问题的,就能保证整个系统没有bug了。答案是否定的。那么我们后续还要进行集成测试,接口测试、安全测试,这样算下来测试成本要远远高于开发成本。对于测试团队来说,不管是整体技术能力还是人员数量都要求很高。

对于一般公司的成本与收益来讲,白盒测试由开发人员完成。因为没有人比自己更了解自己所开发的代码。那么开发人员如何做好对自己功能代码的单元测试?往下看

测试人员与开发人员的比例

相信这也是开发人员热议的一个话题,最典型的就是拿微软与谷歌来比较,微软的测试人员与开发人员的比例是2:1,而谷歌测试人员与开发人员的比例为1:10;同样是两个牛X公司,为什么会存在这么大的差异呢?我想不会有人会认为谷歌的测试人员比微软的牛得多,谷歌一个测试人员可以干微软二十个人的工作。

公司对测试人员的定位不同

微软的测试员人叫“软件测试开发工程师”,加上了“开发”二字,就不单单的测试黑盒那点事儿了。他们要做的事情儿很多。他们要设计测试计划、开发测试自动化软件、debug、调查研究问题。他们的测试工程师要与开发工程师一起,从产品定义(productdefinition)到产品开发(productdevelopment)再到产品维护(productservicing),在整个产品生命周期中,不断贡献各种建议、测试文档以及测试数据。这么庞大的工作量,不是少数测试人员能够胜任的。

那么谷歌呢?他们的测试人员又做些什么。在Google,质量并不等于测试。“质量不是被测试出来的”,他们将测试与开发融合,做为一个开发人员,你必须对保证自己的所做工作的质量。我的感觉有点“全民皆兵”,一个全民皆兵的民族只能被全部消灭,不可能被打到。一个“全民皆测”的软件公司还有什么质量是保证不了的。当你上则所的时候,会发现墙上写着“今天,你测了吗?”哈哈!!

国内的测试国情

为什么国内与国外同样都是测试人员,差距咋就那么大呢?这与我们国内的测试行业“国情”有关。微软是做什么产品的,一个严重的bug对他们造成的损失是不可估量的。当然微软一开始也没意识到测试的重要性,那都是在血和累的教训中逐渐总结出来的。

反观国内,有几家公司是做微软那种产品的,如果你们公司是给政府做项目的,因为某些单位做某些项目是为了让“上面”拨款。其实,这某些单位用不用这个系统就另说了,只要上面检查的时候有这个东西就成。你们懂的!!国内的大多数公司做的都是一些一般的项目,质量要求不高,营收入不高,能预算到测试的费用就更少了。所以,测试人员属于配菜,不是主食。有测试人员大谈后期维护成本可能存的风险。贪图眼前利益的大有人在。淡定!国情!国情!

入测不深,思绪凌乱,不知所言。


作者:junli_chen

原文链接:https://blog.csdn.net/junli_chen/article/details/48947033

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   2022软件测试行业调查报告开始了,点击链接http://vote.51testing.com/ 填写问卷,五门测试实战课程任选两门免费学习。同时还有转发朋友圈免费领数据线的活动。快来参加吧~  近年来越来越多的人转行到软件测试这一领域,对于很多外行的人来说,肯定对这一行业有很多不了解,对于这一职业的职责以及要求都会不清楚,那么我们今天就来梳理一下关于软件测试行业的信息。  一、软件测试的主要职责你知道吗?  软件测试说白了就是检测bug,是由专业的测试人员对软件进行性能、稳定性、质量等进行检测的过程,软件测试工程师对产品质量直接起着决定性作用。  二、软件测试需要什么样的技能?  大学里...
            0 0 950
            分享
          • 一、前期准备:关于投简历需要意识到:一旦开始投简历,就是正式的开始找工作期了,你可能在投简历之后,时刻都能收到公司的面试邀请和电面邀请。所以,在开始投简历之前,就应该做一些基本知识的准备,避免仓促的接到电面和面试,因为没有表现好错过了好公司的机会。面试的有些问题是需要临时突击背诵加强的,因为甚至日常工作涉及不到,涉及面也比较广,建议还是要提前做三到四个月的准备,如果是在职状态的话,这个时间其实并不是特别充裕,所以给自己做个计划时间表,选择一个开始投简历的合适时间。设置个人的目标确认自己的目标,自己有意向的公司以及可以接受的公司类型,针对性的做准备;不要海投,尤其对于已经工作一段时间的人,海投会...
            5 10 4661
            分享
          •   简介  在如何有效地测试Go代码一文中,我们谈论了单元测试,针对它的两大难点:解耦、依赖,提出了面向接口、mock 依赖的解决方案。同时,该文还讨论了一些 Go 领域内的实用测试工具,欢迎读者阅读。单元测试关注点是代码逻辑单元,一般是一个对象或者一个具体函数。我们可以编写足够的单元测试来确保代码的质量,当功能修改或代码重构时,充分的单元测试案例能够给予我们足够的信心。单元测试之上是开发规范。在敏捷软件开发中,有两位常客:测试驱动开发(Test-Driven Development,TDD)和行为驱动开发(Behavior-driven development,BDD)。它们是实践与技术,同...
            0 0 923
            分享
          •   见过不少软件测试岗位,在面试时,问到选择软件测试作为职业的原因时,有不少测试工程师会回答:因为不擅长或不喜欢开发的工作。  这个想法,这个回答,就已经在面试官眼里打低分了。  现在网上也有不少类似观点:  ·“不喜欢开发,那就来选测试吧”  · “测试不需要多少开发知识的”  · “开发太难了,还是测试容易入门”  · “我就是因为不喜欢开发,而选择的测试”  这样的说法已然是割裂了测试和开发的紧密联系,通常反映了开发能力的缺乏(也或许是对开发工作的厌倦)。  实际工作中,测试和开发是“你中有我,我中有你”。  诚然,对于黑盒测试中有些浅显的测试,并不需要多少...
            0 0 1220
            分享
          •   最近我接触到了一种我之前没有接触过的产品,那就是物联网平台。说物联网平台之前,让咱们先来了解一下什么是物联网。物联网,简单来说,就是把各种各样的设备通过网络连接在一起,通过网络连接去管理和操控设备,获取设备采集的数据等等。  物联网其实在我们的日常生活中已经应用得非常广泛了,包括制造业、智慧城市、智慧医疗、物流、农业、智能家居等行业都有涉及。像咱们平常生活中使用手机扫码骑共享单车、无人快递柜取快递、手机连接空调设置温度等等都属于物联网的实际应用。  我目前所涉及的行业其实就属于智慧城市产业下的一个分支:水环境监测方面。  物联网平台,就是将物联网设备远程连接、管理操控、设备采集数据的获取、...
            0 0 443
            分享
      • 51testing软件测试圈微信