测试之家
  • 社区
  • 问答
  • 招聘
  • 社区学堂新
  • 开源项目
  • 活动
  • Wiki
  • 注册
  • 登录
会员
sheep_study (呼噜呼噜)
第 96281 位会员 / 2024-12-06
8 篇帖子 • 31 条回帖
2 关注者
13 正在关注
2 收藏
往前走就好啦
未设置 GitHub 信息.
  • 个人信息
  • 专栏
  • 话题
  • 回帖
  • 收藏
  • 关注中
  • 关注者
  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月15日

    也是比较具体的实践路线,感谢给出的建议

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月15日

    感谢给出比较具体的例子,我会试着按照您给出的具体方式去调整用例设计的。并且在空闲时也按照上边给出的具体方式去实践的。
    我这个测试系统是有点偏向低代码,就明道云那种类型的项目。在写用例过程中也的确存在你列出的 ---- 这导致主流程下会有很多的支线流程。而写测试点容易停留在主干流程,但写成具体用例时需要覆盖各种分支场景,这导致设计时感到逻辑缠绕,因此心里没底就会产生” 奇怪 “的感觉---
    虽然只有我一个人,但是我也还挺有压力的,因为感觉相比研发、产品、实施,自己存在感比较低。好像价值不大,更不能创造出很有价值的东西。自从开始测试这个项目,做的最多的也就是纯功能测试,每次一听到有人反馈 bug,就是自己内心一咯噔。虽然知道不可能有完全没 bug 的系统,但是也还是会控制不住自己。有的时候,有些 bug 确实是我没有测到。平时写用例并没有按照 -- “场景法”+“状态迁移法” ,“边界值法” 与 “异常路径” , “判定表”,用例设计分层这些具体的方法去写用例,最近写完了一个新功能的用例,我再试着去用这些方法,具体实践一下。

  • 公司让我分享如何做好测试,还要录课上传到公司平台供大家学习,大佬们给点建议,应该分享哪些方面 at 2025年05月15日

    你可以按照这个思路去构想一下
    1.首先介绍一下功能测试 - 因为是面向大家的,而这个群体可能有的对功能测试认知比较片面
    2.介绍一下自己平时在功能测试过程中的步骤,可以突出强调一些自己觉得比较好的方面 - 这样可以让大家快速知道哪些是值得借鉴的点
    3.以某个案例具体说一下怎样展开测试,以及问题排查,最后验证问题的解决
    4.分享一些测试学习资源

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月15日

    我平时测试确实也比较表面化,虽然接触这个系统很久了,但是还不能完全说出它背后的流程,看来对业务这一块的熟练度还很欠缺。

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月15日

    好的,我按照这样的方式去实践一下。

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    看到大家的很多回复都是说要熟悉业务,但是我目前每次接到一个新功能的测试任务都会按照以下步骤进行,看起来我并没有过多接触业务,我是不是应该主动去寻求接触业务的可能
    1.看一遍需求文档结合产品给出的文字说明结合原型图梳理出尽可能全面的测试点
    2.把这个需求文档扔给 ai,让他给我梳理一下测试点
    3.对比 1,2 进行查漏补缺
    4.开始写用例
    5.先进行第一轮自己评审,修改编写用例过程中的错别字或者是描述不合理的场景或者是错误的操作步骤或者是本期不实现的功能点
    6.列出所有功能的测试重点
    7.准备测试数据
    8.产品二轮评审,修改用例
    9.拿到可以测试的功能后,按照之前列出的重点,先冒烟测试一轮
    10.评估一下当前功能的质量,决定要不要打回,大概率是不会进行打回,会继续测
    10.先测试高优先级用例
    11.记 bug,在提出一个 bug 的时候我会进行排查具体是什么原因,有时候自己也能提供 70% 的解决思路
    12.回归修过的 bug
    13.总结本版本测试过程中用例编写问题,bug 记录问题

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    是的,单纯只按照需求文档列出的功能点测试是不是就认为是很一般的功能测试呢?

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    你也是差不多的工作年限和现状吗?那考虑做个搭子吗?一起改变自己。我一个人总是半途而废。自身技术不够,又老想着拖延。

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    确实,同意您的说法。但我现在属于哪个都不精进。确实要按照您说的先解决痛点,然后再选定方向,一步步深耕。最后才会慢慢提升。我会按照这个建议结合自身实际慢慢对自己做出改变

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    纯点工肯定不行的,但是我想要结合测试这方面提升一下自己开发技术。其实之前有短暂接触过前后端,自己有写过很简单的前后端分离的那种系统。特别的基础。后来误入测试,开发在我日常的工作中没有什么实践机会。我之前也看过前端代码,想着自己测试熟悉功能,能看代码然后学会写。但是怪我自己没坚持。有时候测试工作紧张。我下班后又不想多学会。时间一久就搁置了

  • 日常点点点测试工作比较多,小组内也只有自己一个测试,主要接触的是 TOB 类型的产品,想要提升一下自己测试方面能力,有啥建议吗 at 2025年05月14日

    我主要接触的就是每次的功能宣讲以及编写测试用例过程中的打磨这些,实际业务使用场景我其实接触的不同。但是通过我测试的这个应用有实施人员搭建出客户的实际使用场景。不过没有人会专门给我培训客户实际使用场景。这样的话,我是不是就需要自己去看一下客户的实际使用场景,然后再结合自己的测试用例,每一轮新功能测试完成后都按照这个方式去,慢慢的就能提升自己的业务能力呢

  • 微信开发者工具打开 miniprogram-demo 项目源码重新编辑时,总是弹框提示 Error: 系统错误,错误码:1, [20250512 11:02:17][touristappid] at 2025年05月13日

    好的谢谢!

  • 微信开发者工具打开 miniprogram-demo 项目源码重新编辑时,总是弹框提示 Error: 系统错误,错误码:1, [20250512 11:02:17][touristappid] at 2025年05月12日

    也感谢这位大佬的解答!

  • 微信开发者工具打开 miniprogram-demo 项目源码重新编辑时,总是弹框提示 Error: 系统错误,错误码:1, [20250512 11:02:17][touristappid] at 2025年05月12日

    试了这个,果然不弹那个错误了,感谢大佬!!
    但我还有一个疑惑。我自己新建的项目在微信开发者工具打开的时候,本地设置并没有加载启用数据预拉取选项。我想知道一下一般什么类型的项目会有这个加载项呢

    我对比了一下这两个项目的 project.config.json 文件内容,发现显示启用数据预拉取选项的配置了"preloadBackgroundData": true,但是当我删除了"preloadBackgroundData": true,,清除缓存,再重新打开这个项目的时候,我发现本地设置还是显示启用数据预拉取选项。

  • 在使用微信小程序自动化测试 pytest 插件/工具 pytest-mini 时,启动 allure_debug.py 文件时,总是遇到启动微信开发工具失败、启动微信开发工具超时 at 2025年05月09日

    1.我在微信开发者工具已经把 miniprogram-demo 这个项目调通了,多次运行 allure_debug.py 也是可以跑通那个 pytest-mini 插件示例的代码的,也就是你给出的https://github.com/zx490336534/pytest-mini/tree/main/demo链接
    2.但是我执行那个 allure_debug.py 的时候,还总是会有超时提示,你之前实践的时候有明确配置允许连接微信开发工具的超时时间吗?可以明确避免 call App.callWxMethod] receive from remote timeout 问题
    3.你提到的 npm run init 应该是指在调通 miniprogram-demo 小程序项目过程的时候执行的命令吗?这和执行 pytest-mini 下的 demo 脚本有什么关系呢

  • 在使用微信小程序自动化测试 pytest 插件/工具 pytest-mini 时,启动 allure_debug.py 文件时,总是遇到启动微信开发工具失败、启动微信开发工具超时 at 2025年05月08日

    Plugin: helpconfig, Hook: pytest_cmdline_parse
    ConftestImportFailure: TypeError: plugins() got an unexpected keyword argument 'timeout' (from D:\auto_test\miniprogramtest\cases\conftest.py)
    For more information see https://pluggy.readthedocs.io/en/stable/api_reference.html#pluggy.PluggyTeardownRaisedWarning
    config = pluginmanager.hook.pytest_cmdline_parse(
    ImportError while loading conftest 'D:\auto_test\miniprogramtest\cases\conftest.py'.
    Generating report to temp directory...
    ��ֹ�����������(Y/N)? �
    多次执行的时候还会出现这个问题,还有乱码出现,已经设置了 pycharm 的编码为 UTF-8,同时也重启了服务,但是还是乱码显示

  • 微信小程序自动化测试 pytest 版工具使用方法 at 2025年05月08日

    好的,谢谢!!

  • 微信小程序自动化测试 pytest 版工具使用方法 at 2025年05月07日

    执行 allure_debug.py 文件时,控制台一直提示
    test_home.py:4 test_view_container - TypeError: 'module' object is n…INTERNALERROR> Traceback (most recent call last):
    能提供一下解决方案吗?感谢!!

  • 从业务测试需求痛点到自动化测试平台设计开发 at 2025年04月14日
    仅楼主可见
  • 低代码自动化测试平台邀请各位测试童鞋试用 at 2025年04月03日
    仅楼主可见
  • 《软件测试的技艺》一个测试工程师的二十年实践感悟手记 at 2025年03月13日

    加 1,卡在自动化这,没有太明显进度。希望有人能给指导一下

  • 报表类测试怎么才能覆盖场景完整些 at 2025年03月12日

    请教一下反向有哪些场景呢?没做过这块的测试,想了解一下

  • AI 真的是我出道以来,用过最好的效能工具 at 2025年03月10日

    同求!!

  • 自动化测试工具求推荐 at 2025年03月10日

    以下是基于 Cursor + 自动化截图对比 的快速实施方案,可在 4 小时内搭建完整流程:

    一、环境准备(15 分钟)

    安装核心工具链
    npm install playwright playwright-extra pixelmatch fs-extra
    pip install Pillow opencv-python numpy
    # 二、基础脚本开发(30 分钟)

    1. 截图采集脚本 (capture.js) const { chromium } = require('playwright'); const fs = require('fs-extra');

    async function captureScreenshots(urls, outputDir) {
    const browser = await chromium.launch();
    const context = await browser.newContext({
    viewport: { width: 1280, height: 720 }
    });

    for (const [index, url] of urls.entries()) {
    const page = await context.newPage();
    await page.goto(url);
    await page.waitForLoadState('networkidle');

    // 核心截图逻辑
    await page.screenshot({
    path: ${outputDir}/screenshot_${index}.png,
    fullPage: true,
    animations: 'disabled'
    });
    }

    await browser.close();
    }

    // 示例调用
    captureScreenshots(
    ['http://old-editor/doc/123', 'http://new-editor/doc/123'],
    './screenshots'
    );

    1. 差异对比脚本 (compare.py) import cv2 import numpy as np from PIL import Image, ImageChops

    def compare_images(old_path, new_path, diff_path):
    old_img = Image.open(old_path).convert('RGB')
    new_img = Image.open(new_path).convert('RGB')

    # 智能对比算法
    diff = ImageChops.difference(old_img, new_img)
    diff_array = np.array(diff)

    # 差异可视化增强
    _, threshold = cv2.threshold(
    cv2.cvtColor(diff_array, cv2.COLOR_RGB2GRAY),
    25, 255, cv2.THRESH_BINARY
    )
    contours, _ = cv2.findContours(
    threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE
    )

    # 生成差异标注图
    result = cv2.imread(new_path)
    for cnt in contours:
    x,y,w,h = cv2.boundingRect(cnt)
    cv2.rectangle(result, (x,y), (x+w,y+h), (0,0,255), 2)

    cv2.imwrite(diff_path, result)
    return len(contours) > 0

    三、高级配置技巧

    1. 动态内容过滤(解决时间戳等干扰) // 在截图前执行页面清理 await page.addScriptTag({ content: document.querySelectorAll('.timestamp, .ads').forEach(el => el.remove()); });
    2. 抗锯齿处理 # 在对比前添加模糊处理 old_img = old_img.filter(ImageFilter.GaussianBlur(radius=1)) new_img = new_img.filter(ImageFilter.GaussianBlur(radius=1))
    3. 多分辨率适配(移动端兼容) const devices = [ 'iPhone 13 Pro', 'Desktop Chrome' ];

    for (const device of devices) {
    const deviceSpec = playwright.devices[device];
    const context = await browser.newContext(deviceSpec);
    // ...截图逻辑...
    }

    四、自动化执行流程(使用 Cursor AI)

    文档列表准备

    导出所有文档 ID

    mongoexport --uri=mongodb://localhost:27017/docs --collection=articles --fields=_id --type=csv > docs.csv
    并行执行命令

    使用 xargs 并行处理

    cat docs.csv | xargs -P 8 -I {} node capture.js --docId {}
    差异报告生成

    生成 HTML 报告

    from dominate import document
    from dominate.tags import *

    with document(title='Diff Report') as doc:
    h1('Content Diff Report')
    for diff in diffs:
    div(img(src=diff['old']), img(src=diff['new']), img(src=diff['diff']))

    with open('report.html', 'w') as f:
    f.write(doc.render())

    五、性能优化方案

    优化策略 实施方法 效果提升
    智能缓存 对未修改文档跳过截图 减少 60% 工作量
    增量对比 仅对比修改时间>上次运行的文档 缩短 70% 时间
    GPU 加速 启用 playwright._impl._driver_process GPU 支持 提速 3x
    分布式 使用 K8s Job 分片处理 线性扩展
    # 六、灰度验证策略
    影子模式对比
    // 同时加载新旧编辑器进行实时对比
    async function shadowCompare(docId) {
    const [oldPage, newPage] = await Promise.all([
    browser.newPage().goto(oldUrl),
    browser.newPage().goto(newUrl)
    ]);

    const [oldShot, newShot] = await Promise.all([
    oldPage.screenshot(),
    newPage.screenshot()
    ]);

    return compare(oldShot, newShot);
    }
    渐进式验证

    第一阶段 → 对比核心文档(1000 篇)
    第二阶段 → 对比模板文档(所有模板类型)
    第三阶段 → 全量文档滚动对比
    # 七、操作成本对比
    方案 5000 文档耗时 准确率 硬件成本
    人工抽查 40 人天 65% 0
    文本对比 2 小时 92% 低
    截图对比 25 分钟 98% 中
    通过该方案,可实现每小时验证 12,000+ 文档 的视觉一致性。建议结合文本对比方案使用,先执行快速文本对比,再对存在差异的文档进行精准截图对比。
    以上步骤如果楼主执行了,请反馈一下。以上答案是问的 deepseek.我没有具体的系统场景,所以想了解一下最终问题是否有效解决!

  • 实践分享|微信团队如何用自动化测试化险为夷;安居客研发效能度量体系介绍;vivo 流量录制回放平台已对外开源 at 2025年03月05日

    点赞

  • 1
  • 2
  • 下一页
  • 关于 / 活跃用户 / 中国移动互联网测试技术大会 / 反馈 / Github / API / 帮助推广
    TesterHome社区,测试之家,由众多测试工程师组织和维护的技术社区,致力于帮助新人成长,提高测试地位,推进质量发展。Inspired by RubyChina
    友情链接 WeTest腾讯质量开放平台 / InfoQ / 掘金 / SegmentFault / 测试窝 / 百度测试吧 / IT大咖说
    简体中文 / 正體中文 / English

    ©testerhome.com 测试之家   渝ICP备2022001292号
      渝公网安备 50022202000435号    版权所有 © 重庆年云聚力信息技术有限公司