软件测试两年半的我,谈谈自己的理解

软件测试两年半的我,谈谈自己的理解
从2020年7月毕业,就成为一名测试仔。日子混了一鲲年,感觉需要好好梳理一下自己的职业道路了,回顾与总结下吧。

一、测试的定位

做事嘛,搞清楚自己的定位很重要。
要搞清楚自己的定位,就需要先了解整个流程,然后通过流程中的“相对位置”来确认自己的位置。
对于一个产品大团队而言,从头到尾总是大概需要经过这么一些角色。(在大小团队中某些岗位可能合并或者分立,但大致是这么一些要做的事情)

1、需求提出者(产品经理、策划或者客户)
2、产品实现者(架构人员、开发人员)
3、质量验证者(测试人员:测试设计、测试执行、自动化团队)
4、销售
5、客户
6、交付/运维团队


而我们的定位,就来自于我们与其他角色的关系。

1、测试与需求:

首先,产品经理通过市场风向的研究,想要实现某个功能来满足客户需要,形成竞争优势; 或者 接收客户对于产品某些问题的反馈,提出一个解决方案。
以上这些,落到产品团队中,最终就成为一个个 待做的需求。然后向研发团队讲解自己期望实现的功能。

测试工作内容,归根结底就是“保障质量”
而质量,其实不仅仅来源于开发的实现代码,也来源于“需求合理性”
以极端情况举例,有可能需求提出了画面要“五彩斑斓的黑”,或者期望在现实世界建造一栋某个特殊造型的房子,而那个房子,本身完全不符合力学结构。
这种情况下,质量问题的来源,并不在开发,而是更前一个环节的需求层面。
因为各种原因(如理解偏差、新人上手),需求存在错误这种事情,是时有发生的。而当一个需求本身是存在错误的,如果等到开发已经投入实现了大部分之后才发现,无论是将就着做下去,还是推翻重来浪费的人力都将巨大。
因此,最近有了一个概念叫做“测试左移”,所说的就是测试应该在更早的阶段(如需求阶段)去发现问题,从而规避问题。
如果我们能在需求阶段,就把问题提出来,就能让后面的环节更加顺利。

输入:
a、产品经理讲解客户目前的痛点是什么
b、产品经理讲解提出什么样的需求方案,觉得可以解决客户的痛点
输出:
a、根据经验,说出这样的需求方案可能有什么坑 (比如和已有的某些功能存在重复、或者存在冲突)
b、根据产品所描述方案,输出“用户使用场景性”的测试用例

对测试的能力要求:
a、熟悉产品已有的几乎所有功能,特别是责任田内的。以便于能在第一时间反应发现,和新需求可能产生关联的会是哪些功能。
b、带入客户视角的能力。(可以参考5W1H的方法去带入和思考)

2、测试与开发:

作为测试,沟通的最多的人,无疑还是开发。

通常一个测试,需要同时对接多个开发,前端、后端,甚至后端可能还需要区分配置面、运行面,对某些产品可能还需要区分“客户端和服务端”。
而测试的策略通常又需要区分“黑盒测试”与“白盒测试”。
当进行黑盒测试时,我们只需要考虑功能是否能用,里面的细节不关心,这种情况下,我们对于开发输入的依赖相对没有那么大。只需要根据需求的特性,罗列出所有的可能输入项类型,以及输入后的期望输出即可。
而很多场景下,黑盒测试往往是不够的,一些问题往往出现在奇奇怪怪的地方。
这个时候,我们就需要白盒测试了,白盒测试的第一步,首先测试就需要也先基本理解运行的逻辑。对于开发的“原理设计文档”我们需要能够去看懂,这样才能从设计文档中,分析出我们所需要的测试点。

输入:
a、原理设计文档(以及讲解和评审会议)
b、
输出:
a、提出开发设计文档中可能存在问题的点(比如边界、兼容性等 任何开发没有考虑到的点)
b、测试设计文档+测试用例+测试策略
c、可测试性工具需求提交
对测试的能力要求:
a、需要能理解开发文档,并从中拆解测试点
b、需要能从测试点组装成测试用例
c、需要识别测试过程中可能需要用的工具与环境

误区说明:传统的流程上来说,测试只是开发的下一道流程。但已经不太适用于当下,特别是敏捷当道的状态下,要求测试能提前识别问题,也是不能再等到开发什么都搞完再接手了,而是要 几乎并行 地去开展工作。

3、测试与测试:

测试内部也有许多的分工,大体分为 “测试设计人员”、“测试执行人员”、“自动化测试人员”几种角色。
测试设计人员产出的用例,最终则会成为执行人员和自动化人员的输入项。

对于测试设计的能力要求:所输出的用例是可执行的,不存在歧义的,且可以验证到功能是否存在问题的。
对于测试执行的能力要求:在用例正确的前提下,是可以严格执行用例步骤的;在用例可能存在错误的情况下,是能够进行一定程度识别的。
对于自动化测试的能力要求:是要能使用自动化方法实现用例内容,并在后续迭代中可以持续自动化执行的。

4、测试与销售:

测试过程中,比如性能测试、稳定性测试,通常会产出一些产品指标数据
通过实打实的指标数据,销售则可以更好的与友商PK,进行更好的推广,从而卖得更好,大家分得更多。

5、测试与客户:

前有提到,测试在产品团队内部,就应该把自己代入‘客户’的角度来进行工作。
大部分时候通过 ‘将心比心’的方法能比较好的做到这件事,但还是偶尔陷入‘以己度人’的误区。
这种情况下,就只有通过‘测试右移“的方法来实现了。
通过产品发布后,持续关注客户的使用情况以及反馈情况,来了解是否有解决客户的问题。(比如 通过网上问题报单数量)

6、测试与运维

在测试过程中,通常会用到一些测试方法与问题排查技巧。测试如果有做一个比较好的整理汇总的话,这些信息应该是可以作为运维人员的一份参考手册的

二、测试的关注点

壹、功能测试

1、本身功能测试
就像改一个房子,你希望它能遮风挡雨,能有卧室可以睡觉,有厨房可以做饭,有厕所可以~
这些就是功能点,你需要测试床是不是舒服,厨房有没有燃气,厕所有没有水等等功能性。


2、关联功能测试
在同一个产品下,有时候很多东西都是息息相关的,功能与功能之间的依赖,进程与进程之间的依赖。
修改其中某处地方,可能不只要考虑功能本身,还需要考虑和他相关的功能。

举个栗子,就像是大家买房装修,如果有某一户人家把承重墙给拆了,其他楼层也会受到影响。

贰、性能测试

性能优化,说白了,就是想要用最少的资源去做最多的事情。
而性能测试的数据,则是需要作为性能优化是否到位的一个表现。

通常就是通过控制变量来测试。
1、控制固定资源量不变,看单位时间内程序处理工作的数量。(比如,固定CPU吃满情况下,测试平均每秒可以进行多少次 乘法运算。 )
2、控制需处理的数量不变,看资源消耗与耗时。(比如,就固定做十万次乘法运算,耗时多久,过程中CPU、内存、磁盘IO、网路带宽等消耗多少)

叁、可靠性测试

可靠性测试说白了就是考验极端情况下,程序还能不能干活。
比如人类,在-100度的高温下,和-100低温下,就无法工作了。在30度情况下,人类能勉强工作;40度情况下,基本上无法进行劳作了。
程序也一样,CPU压力大的情况下,是否能正常进行。网络状态差的情况下,是否能正常进行。客户端程序电脑休眠之后打开是否还能正常使用。
比如 朱日和演习,蓝军的各种buff就是可靠性测试下的压力。

可靠性下还有一个重要的分支,就是可恢复性,就像大家使用手机,有些情况下手机就是可能会出现卡死的现象。这个时候,只要选择强制重启基本上就可以解决99.99%的问题。而如果可恢复性做得不好的话,那就可能导致手机出现一次故障,然后就直接变砖了,里面的各种信息也丢失了。

例举几种常见的可靠性:
进程可靠性:1、进程启动失败 2、进程退出 3、进程挂死 4、进程Z/D/T
文件可靠性:1、文件损坏/丢失 2、文件读写权限异常 3、存储空间不足 4、存储介质故障
数据可靠性:1、数据库异常 2、数据丢失 3、数据损坏 4、数据内容错误
网络可靠性:1、弱网 2、断网重连 3、数据包过大,数据截断
时间可靠性:1、系统时间跳变(向前跳变、向后跳变、跳变范围跨小时/天/月/年)
资源可靠性:1、CPU过载 2、内存过载 3、磁盘IO过载 4、磁盘空间满 5、文件句柄 6、网络端口被占用 7、网络连接过载 8、数据库连接过载等
设备可靠性:1、设备掉电重启 2、设备关机重启

肆、稳定性测试

有些产品,是需要持续运行不出错的。
有些隐藏的极深的问题,是一时半会无法暴露出来的。
例如:每分钟会执行一个定时任务,这个定时任务会产生一个1MB的文件,原则上这个文件在每分钟使用之后都会删除掉。而中间出现了bug,文件因为权限问题或其他问题删除失败了。这个时候如果只是测试了几分钟,可能根本就无法发现这个问题。但如果程序持续运行1天、甚至1周,问题的影响就十分巨大了。

伍、兼容性测试

如果是一个有页面可以在浏览器访问的应用, 则需要考虑各种浏览器类型的兼容,各种浏览器(chrome、Edge、Firefox、IE、360浏览器、QQ浏览器)都需要能兼容。
如果是安装到终端上的应用程序,则需要考虑系统类型,如win7、win10、winserver、mac11、mac12、Linux。
如果程序调用的东西涉及到指令集的层次,则还需要考虑如 intel、AMD等各种不同芯片的情况。
如果程序的传输,是涉及到需要加密的,则还需要考虑到加密算法的问题。国际密码标准 与 中国商用密码标准 都需要考虑兼容。
如果程序的逻辑,是与时间相关的, 则需要考虑时间跳变、时区兼容、12小时/24小时制的兼容
以上只是部分例子,有机会再好好整理一下。

陆、可运维性测试

大家的期许,肯定是完美的。
但现实世界是,产品总会有不够完美的地方,在一些特定的场景下,就是可能会产生问题。
这个时候,可运维性就十分重要的了。
当产品出了问题,当客户询问原因的时候。如果可运维性做得足够好,那可能问题就会在很短的时间,几分钟之内得到答案。
而如果可运维性做得极差,那么当产品在客户处出现问题,甚至可能出现无从下手的原因。
这里带入客户的角度模拟两个场景,
1、产品坏了,打电话去问客服,然后向对方描述现象,对方告诉你是什么什么原因导致的,需要怎么怎么样处理可能就好了。然后工程师上门,咔,好了
2、产品坏了,打电话去问客服,对方说,嗯~啊~这个~得具体现象具体分析。 然后工程师上门,查了半天没得结果,说还得回去看代码再研究一下。
如果你是客户,对于这两种现象会有怎么样的评价。

柒、安全性测试

当前的大环境下,安全性测试一般会有专业的安全团队来负责。但一般测试如果能稍微了解一些相关的概念,也是有所帮助的。

三、测试的道法术器势

最近发现,用“道”、“法”、“术”、“器”、“势”来拆分任何一个事情,都是很好用的。

道,是根本性的规律。通常是自然而然存在的。
法,是一般性的规律。一般是由人自己定的。
术,是具体的实践方法。
器,是工具。
势,是指当前的客观条件与形式。

"道不易,法简易,术常易"
韩非子说,抱法处势而用术。

测试的道

对于测试来说,道很简单,就是尽可能的发现bug。
竭尽所能地去保障产品的“质量”。

测试的法

能提前识别问题的测试左移方法
能持续运营问题的测试右移方法
分层测试的方法(UI、接口、后端等)
求全的冗余测试方法
求快的精准测试方法
求稳的最后一包全量测试方法
求快的分步增量测试方法

撒网捞bug之法
漏网之鱼追捕之法
突发问题补救之法
问题复盘之法

测试的术

1、自动化技术
2、接口测试技术
3、单元测试技术
4、搭建沟通桥梁的话术

测试的器

网络类:
wireshark抓包工具
nslookup
dig
nsupdate
ping
tracert
tcpdump
……

数据构造类:
POSTMAN
ApiFox
Fiddler
……

自动化类:
RF框架
selenium
……

资源观察类:
telegram
top命令
……

测试站点搭建:
Nginx
Apache
XAMPP
Bind9(DNS服务器)
……

以及各种自制脚本

测试的势

韩非子说,抱法处势而用术。

不知道大家有没有感觉,保障质量,这句话看着哪里都很对。
唯一的缺点就是,很虚。
而只有结合“势”,我们才能得到一个答案,团队希望投入多大的成本来保障质量,是否愿意为了质量而做出时间上的妥协。

对于求稳的产品,大家希望的是用尽全力保障质量,但凡发现有风险,就必须要解决后才能发布。

对于高速迭代的产品,大家的重点是“先推出去”,无论如何像让客户体验起来,用起来。

在这两种截然不同的“势”下,我们所需要遵从的“法”,使用的“术”,自然也是需要随之改变的。

总结

掌握了器,大抵我们就成为了一个合格的工具人。
掌握了术,干起活来我们基本上得心应手。
掌握了法,我们测试工作上所要做的事情,基本上达到了知其然且知其所以然。
掌握了道,才能在长时间的路上不走偏。

四、测试的时间管理

通常一个开发,同时可能就投入在一个需求之中。
通常一个测试,对接的是将近一个组的开发,可能有多个需求。
怎么安排时间?谁先谁后?时间分配

五、测试的未来

而早在多年前,AI用于测试的话题就存在了。
在AI飞速发展的今天,我们都见识到chatGPT的冰山一角。
大家纷纷讨论,哪些职业可能会被chatGPT家族所取代。
对新技术,我通常会思考两个问题。
1、挑战是什么?ta能替代我们的哪些能力?
2、机遇是什么?ta有哪些能力可以为我们所用?

AI+测试,是一个值得思考的方向,也可能是我接下来期望致力于的方向。
等有更多成体系的想法与点子,再为诸位抛转。

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/13788.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【播客】onboard26. ChatGPT与生成式AI的技术演进与商业未来

最近AIGC尤其是chatGPT的信息有些过载了,但像这次播客一样直接采访Google Brain研究员、Stability AI产品经理、Landing.ai前产品负责人的资源还是非常少见的。原播客大半个月前就发布了,但这次校对字幕的工作量也是空前的,因为新名词实在太多…

警惕这些“挂羊头卖狗肉”的高科技培训!

最近真的被误人子弟的教育骗子给气到! 事情是这样的,6月11号,我在2023 开放原子全球开源峰会上,遇到了一位从广东来北京参会的老师。 这位老师透露,他来自一所职业技术学院,学校师资挺不错的,可…

看完GPT-4测评报告,人麻了

击上方关注 “终端研发部” 设为“星标”,和你一起掌握更多数据库知识 微软前两天发布了一个154页的GPT-4全方面测评报告,看完直接人麻了,确实太强了!! 说实话,很少看到这么多人转发关注一个论文&#xff1…

谷歌CEO撰文:要安全、负责任地搞人工智能;GPT-4通过CPA会计考试;cURL 8.1 发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

今天打开个税APP,我直接人麻了!

大家好,我是程序员小猿。 xdm,你们个税申报都完成了?每到每年3月份,我就很高兴,因为我基本上每年都会退税。作为一名博主,平时接点小广告,都是按劳务税20%走的,到每年3月份时&#x…

ChatGPT+智能家居在AWE引热议 OpenCPU成家电产业智能化降本提速引擎

作为家电行业的风向标和全球三大消费电子展之一,4月27日-30日,以“智科技、创未来”为主题的AWE 2023在上海新国际博览中心举行,本届展会展现了科技、场景等创新成果,为我们揭示家电与消费电子的发展方向。今年展馆规模扩大至14个…

我让 chatGPT 教我学一下操作系统怎么样?

大家都知道现在 chatGPT 已经在多个领域展现了及其强大的工地,比如文案策划,毕业论文方便,甚至很多程序员都直接让 chatGPT 帮忙写代码了,在一些模板化的代码方面,chatGPT 更展示了优秀的能力。 所以我突然迸发了一个…

HarmonyOS 最热门、生态成“老大难”,揭晓数万名开发者眼中的国产操作系统!...

作者 | 屠敏 出品 | CSDN(ID:CSDNnews) 操作系统经历了 30 多年的本土化发展,趟过了荒漠沙丘,栽培了基于 UNIX 操作系统开发模式下的零星绿植,再到现如今基于 Linux 以及自研技术的茂密森林,其上…

巴比特 | 元宇宙每日必读:外媒称谷歌终止AR头显项目,转向构建AR软件平台,微软曾吐槽市场规模太小,苹果、Meta仍在坚持...

摘要:据华尔街见闻报道,相比AI概念火爆拥挤,头显赛道显得格外冷清。周二,据Business Insider报道,谷歌终止了代号为Iris的增强现实(AR)头显项目,转向AR软件平台的构建。目前,头显巨头们开始“分…

AI 写作,30 秒上手,可别再说写作没思路了

你经常要与文字打交道吗,是不是也会有以下困惑? 写作难下笔写不好?课程制作难缺灵感?营销文案没吸引力?PPT制作耗时费力?短视频脚本没创意? ChatGPT 出现以后,嗅觉灵敏的先行者&…

AI Canon精选资源清单;带AI功能的PS安装文件与教程;讯飞星火10月对标 ChatGPT;直播换脸工具盘点 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 AI Canon:人工智能精选资源清单 思维导图 ShowMeAI知识星球资源编码:R106 AI Canon 是由美国著名的风投机构 …

万字长文:可能是全网最晚的ChatGPT技术总结-2

目前公开开源的模型FLAN T5就是在T5模型基础上进行了指令微调的训练,相较于那些动辄几百亿、几千亿参数的大模型来说,这个模型的参数量已经足够亲民,可以作为个人研究或者业务实现的strong baseline 接上一篇 作者:邱震宇&#x…

都说AI增益客服 企业实测:提效90%

吴立楠记得ChatGPT刚出来时全公司涌动着的激奋,“从CEO到投资人,天天开会讨论怎么和产品结合。”2022年12月,ChatGPT发布没几天,智能客服公司智齿科技的这位CTO与团队投入到一场耗时4个月的研发大战。目标明确:将GPT大…

超越ChatGPT——SelfCommNet:一种拥有自我意识的神经网络设计

SelfCommNet:一种拥有自我意识的神经网络设计 *注意:从本文获得相关思想需要注明引用本文* 引言心理学与神经科学基础方法1、整体架构2、外部输入数据及其编码器3、交流网络(Communication network system)4、输出数据控制器5、权重抑制6、记忆网络(Memo…

AI人工智能内容创作-超越ChatGPT

借助更多工具利用人工智能的力量,让你更快获得更好的结果,超越ChatGPT,如果你认为ChatGPT很棒,但你想要更清晰、更快、更好的结果,以及不需要超级准确的提示就能让它变得神奇的人工智能,请举手!…

科大讯飞发布超越ChatGPT的中文大模型:讯飞星火,真的能成为人工智能领域的新星吗?

近日,科大讯飞召开了星火认知大模型成果发布会,宣布讯飞星火大模型将突破开放式问答,对标ChatGPT,在中文能力上超过ChatGPT,在英文能力上与ChatGPT相当。这一消息引起了人工智能领域的广泛关注。 作为人工智能领域的翘…

讯飞星火大模型将超越chatgpt吗?

近日,科大讯飞召开了星火认知大模型成果发布会,会上表示讯飞星火大模型将突破开放式问答,对标ChatGPT,在中文能力上超过ChatGPT,在英文能力上与ChatGPT相当。对此,你怎么看? 一、你有使用过这种…

超越 ChatGPT,GPT-4 将成为下一个“顶流”?

出品人:Towhee 技术团队 从2022年底开始预热,智能对话机器人 ChatGPT (即 GPT 3.5)成功地又一次掀起了人工智能的热潮。除了AI 相关的从业者以外,如今 ChatGPT 已是家喻户晓。就在美国东部时间 3月14日,其…

Ernie3.5超越ChatGPT,中文测试胜过GPT-4

百度最近宣布,其旗下的ChatGPT风格服务在多个方面表现优于OpenAI的聊天机器人。该公司最新推出的AI模型Ernie3.5不仅在综合能力评分上超过了ChatGPT(GPT-3.5),而且在中文测试中也超越了GPT-4。这一成就标志着百度在人工智能领域取…

超越 ChatGPT ?AutoGPT 爆火,两周斩获 50k+ Star:无需人类插手,自主完成任务!...

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 刚上线两周就收获 50k Star,看来 Auto-GPT 是真的火了! (项目地址:https://github.com/Torantulino/Auto-GPT?refjina-ai-gmbh.ghost.io) …