全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速...

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

自动化测试——测试数据如何管理

自动化测试过程中,现在大多都默认测试脚本与测试数据分离的设计,这样做的好处是:降低维护成本,迁移成本以及提高效率。

测试数据放在哪里?
如何管理,不能一概而论。应该从以下几方面来考虑:

1、业务场景

①比如在UI自动化测试中,需要测试某个电商网站的各个业务模块,但前提是要用户登录。

这个用来执行登录的测试账号数据往往是固定的,那么专门将一组username和password放在一个测试数据文件或者测试数据库中,这样就显得太笨重,耗时费力。

将其写入测试脚本或者写入配置文件,直接引用效率会更高。

②同样,测试电商网站,账号体系分为普通账号,会员账号,会员还分很多等级,有时候为了测试会员中心不同的账号展示的信息是否不同,就需要使用不同的等级的账号登录。

这种场景下,可以将测试数据放在测试文件里(比如excel、csv),通过参数化的方式来循环读取,执行后续操作。

③在API自动化测试中,比如针对restful风格的接口,它的域名相对来说都是固定的,只是不同接口的path不同,那么也可以将域名写入配置文件。

测试过程中只需要将实例化的域名和path进行拼接即可,这样也省却了在测试数据文件中维护的成本,一定程度上提升了测试效率。

2、数据类型

测试数据也分不同类型,大概分为以下几种类型:

base-data:即基础数据,比如电商网站的商品信息、SKU,比如物流公司的仓储管理等,这类数据往往基数比较大,可以视为持久层,储存在DB中;

test-data:测试数据,根据业务场景不同,数据无论量级还是变更频次也不同,基于测试脚本与数据分离的概念,可放在专门的测试文件中,比如excel、csv;

ephemeral-data:临时数据,即使用一次的数据,这种类型的数据可以用临时文件存储(比如dat、csv等)格式,然后进行参数化读取,或者直接写入脚本中;

3、数据量级

①还是电商网站的某个场景,需要先执行登录,登录的账号比如是专门配置的一个测试账号,相对固定,那么将测试账号写入测试脚本也无可厚非。

不过我本人不喜欢将测试数据直接写入脚本,这种情况我会写入配置文件,然后实例化调用,这种情况就需要根据个人习惯来设计,没有固定的套路;

②数据量级在几十——几百上千之间,这种时候,可以写入excel文件进行存储管理,但是excel的局限在于其本身目前最大支持65500+行的数据存储,

而且只支持单事务,如果需要多线程读取,就会变成瓶颈。

③csv文件,结构简单、通用,可以和excel进行转换,可以减少存储文件size,且具备简单的安全性,可以在一定程度上替代excel成为数据存储文件。

本人目前在大多数场景下也是使用csv类型的文件进行测试数据存储管理;

④当测试数据超过一定量级,比如性能测试中,如果要执行并发测试或者稳定性测试,那么所需测试数据量级就很大,这时使用excel或者csv就会变得很不方便。

无论是从维护的成本还是便捷性考虑,都应该选择利用DB或其他高效的管理方式来存储和管理测试数据;

4、使用频次

测试数据的重用频次不同,也需要选择不同的存储方式,比如:

①once:只使用一次的测试数据,那么只需要写入临时文件,用完作废或者删除即可;

②often:即经常使用的测试数据,应根据数据量级,使用场景,数据类型选择合适的存储管理方式;

③alway:可以理解为base-data或者持久数据,这种类型的数据因为其本身更新频次很低,或者数据量级较大,一般存储在DB中是比较好的一种管理方案。

自动化测试——实施落地

1、当前面临的痛点是什么?

引入自动化测试是为了解决工作过程中遇到的问题或痛点,所以在引入之前第一个要考虑的是当前面临的痛点是什么。

比如:线上功能bug频发,人力资源时间不足导致团队加班太多,版本迭代快/多版本并行等,且这些痛点都已经严重影响到了团队的日常工作效率和氛围。

先将面临的问题和痛点列出来,按照影响范围和优先级排序,然后分析背后的原因。

2、痛点背后的原因有哪些?

线上功能bug频发,可能的原因有漏测/case覆盖率不足/需求变更快/发布流程不规范等原因。

人力或者时间不足,背后的原因可能有团队同学能力不足/团队效率不高/管理混乱/缺乏提效手段和工具。

版本迭代快多版本并行的情况,背后的原因就更复杂了,涉及到流程/管理/业务成熟度/企业所处阶段等多种因素。

3、有什么可以解决问题的方案?

分析出团队面临的痛点以及背后的原因,我的建议是将原因列出来进行归类,比如:

资源问题:人手不足/工时评估不合理;
流程问题:研发交付流程混乱,发布不可控;
管理问题:团队效率不高,管理混乱,职责不清;

技术建设问题:缺乏CI/CD工具&需求/代码/case/bug管理工具,团队同学缺乏相关经验;

4、自动化是不是最合适的解决方案?

问题分类和排优先级之后,就是case by case的分析有哪些解决方案了。假设某部分问题可以通过自动化测试来解决或者改善,那就可以着手进行下一步分析。

5、当前的情况是否适合开展自动化测试?

“自动化测试适用于重复度较高的工作,且不是一蹴而就即插即用就能解决问题的。需要相对稳定的业务需求迭代、比较成熟稳定的研发团队和一定的技术基础设施建设,以及较为规范的流程才能更好的落地,达到提效的目的”。

举个例子:
某创业公司,当前处于产品初创和快速迭代期,追求的是快速推出MVP产品推向市场,业务不稳定,人力资源紧张,技术基础设施很差,那这个时候是不适合做开展自动化测试的。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第1张图片

二、接口自动化项目实战

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第2张图片

三、Web自动化项目实战

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第3张图片

四、App自动化项目实战

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第4张图片

五、一线大厂简历

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第5张图片

六、测试开发DevOps体系

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第6张图片

七、常用自动化测试工具

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第7张图片

八、JMeter性能测试

全网超细,自动化测试-数据管理/实施落地问题,跟着直接上高速..._第8张图片

九、总结(尾部小惊喜)

生命中最伟大的胜利,不是战胜别人,而是战胜自己。用汗水和努力书写辉煌,坚持奋斗,超越自我,成就那个无法想象的更好的自己!

无论风雨多么艰难,永远不要放弃追求梦想的勇气。奋斗是人生的底色,努力是成功的密码。坚定信念,坚持前行,你一定能够创造出辉煌的人生!

成功需要勇气、耐心和恒心,但最重要的是你的毅力。保持信心,坚持追求梦想的道路,哪怕前方有无数困难,你一定能够收获属于自己的美好未来!

你可能感兴趣的:(软件测试,自动化测试从入门到精通,自动化测试,软件测试,软件测试工程师,自动化测试,自动化测试框架,web自动化测试,接口自动化测试,测试开发)