• 如何识别算术型验证码? at 2023年11月21日

    如果能被自动化【轻易】搞定的验证码,那还搞的目的是什么?
    验证码的目的本来就是要区分人和机器,最低目的也是要大大增加自动化验证的成本。
    所以如果对自己公司的系统:
    测试环境:给自动化测试提供直接跳过的功能,至于验证码本身功能通过人工去测试。
    生产环境:先人工完成登录,然后通过 connect 的方式去执行自动化脚本

  • 大模型时代下的测试畅想 at 2023年11月09日

    昨晚又出故障了,最近 openAI 升级后各种故障:

  • 大模型时代下的测试畅想 at 2023年11月08日

    今天服务挂了,现在应该好了

  • playwright 在免登录问题 at 2023年10月19日

    content/page.on("request", handler),在 handler 中打印一下你的请求头看看、检查一下。

  • 一张图让我破防了 at 2023年10月18日

    只是对卷心菜这个说法感觉有意思:在一个都是低水平的地方卷,卷的再好,在外面来看还是低水平。

    裂开了则不是我思考的地方

  • 最简单的方法其实就是最古老的方法:ASP 的上传下载服务

  • 5 年前也有一样的问题,搜刮全网,开源的普遍的是 php,少量 java,而且不好用;最后跟领导说一下,最后决定自给自足了。

  • 自研的话可以契合本公司/部门的需求。
    我们这里是偏业务的公司,测试用例几乎可当需求归档的。
    而且用例容量日积月累,层级复杂。一些开源工具的的层级管理就不太满足了,所以要自研。
    至于备份,定时任务 dump 就好了。

  • 如果性能能这样计算,也😂
    一个应用调用链涉及到多个服务,每个服务都是影响性能的。
    代码写的差,再好的硬件也救不了
    不能充分利用多核,cpu 再多核心也没用

  • 没有特别去找过特定的论坛,但 github 上有相关项目是关于 chatgpt prompt 的:https://github.com/f/awesome-chatgpt-prompts
    我们这个例子中的提示语是不断完善出来的,把大家日常中遇到的各种异常都存下来,逐渐调试出来的。

  • 同意
    不是人人都有大厂中各种先进技术栈锻炼的机会的,就算自学也只是了解而无真正实践经验的。
    他能一个人完成各项目的测试工作,如果能完成的好且有系统化总结的话,肯定也不是 1-3 年的能比的。

    虽然经历看着平平,倒也反应了真实的日常工作。

    测试生涯不是什么都追求技术,往测开方向的——测试的本职还是测试,成为测试专家、测试管理也是路

  • 过期了

  • 工具扫描不能代表安全的全部:
    1-工具的指纹库是否持续更新:比如缺少新的漏洞信息,或者无法识别使用的中间件或工具
    2-工具扫描的路径是否全面:有些 url 路径需要通过一定操作才能访问到
    3-一些漏洞可能需要通过多次转换才能判断,这个一般工具不具备(自动化的内容一般都是简单遍历 payload),尤其 sql 注入
    4-功能权限校验类需要人去做,工具可不知道业务上那些功能有权限区分
    5-需要多步校验中逻辑漏洞、敏感信息、短信类滥用则需要人工和工具结合...
    ...

    tips:安全测试水很深

  • 啥时候增加 http 代理服务功能

  • 底线就是:是 BUG 就提了!
    该处理就回归,不处理写好谁同意不处理的。

  • @pytest.fixture(scope="session",autouse=False)
    def connect_sql(db_alias):

    你这里 connect_sql 是个 fixture,它调用的 db_alias 也应该是 fixture

    所以你得
    @pytest.fixture(scope="session",autouse=True)
    def db_alias:
    return ...

  • 这种是使用某类前端框架的表单和字段组件,校验可能不使用原生的 value,而是组件本身存储机制。
    所以除了改 input 的 value,可能还要改对应框架存储的值

    比如这种 vue-element 的框架,日期组件的值和是否显示在这个组件字段的vue._data 中。

    比如关闭日期选择器:

    $(".el-date-editor").__vue__._data.pickerVisible=false
    
  • 有个未尝试的想法,可以替换 selenium-wire 试试:
    用 interceptor 来替换对应 js 的内容:
    api 的文档中有个例子,这里是 html 文件,可以尝试改成 js 文件试试:

    def interceptor(request):
        if request.url == 'https://server.com/some/path':
            request.create_response(
                status_code=200,
                headers={'Content-Type': 'text/html'},  # Optional headers dictionary
                body='<html>Hello World!</html>'  # Optional body
            )
    
    driver.request_interceptor = interceptor
    
  • FunLine 数据工厂开源 at 2022年10月09日

    一开始看下来,也是这么认为的。

  • 不沿用的原因是 nginx 的那个动态插件是不支持通过 http 接口动态设置请求头的,所以有临时方案在每套环境之前放 1 个 nginx 来设置对应环境的特殊请求头。

    确实找过一些 “Gateway” 类的工具,但大都比较 “大而全”,放在这里有些小题大做。而且不少工具不支持通过 api 动态修改配置,需要改造,就放弃了。

    这里只是一个小工具,功能精简且好移植(go 语言)

  • 我们不做定期报告,直接将 jira 上 bug 和线上 bug 按级别、bug 产生类型及线上 bug 遗漏类型数据同步到 seatable。
    seatable 上做统计图表及明细,领导想看自己去看。

  • 前沿大会给我带来了什么 at 2022年09月08日

    去过 qcon、qecon 一类的,看到各类大厂说自己的 devops、全链路、智能自动化等等高大上的分享,一开始会很羡慕,但细细一想,这些东西都是有局限性的:业务运营的支撑、技术水平、人力物力...都限制了在其他公司的落地,盲目尝试最后落了个鸡飞蛋打的下场。

    但我们能做的是从大会的分享中汲取各类创新的思维和技巧,结合自身部门的问题或瓶颈来寻找方法来解决。

    从个人来讲,在我们这种不大不小的公司中,尤其是业务线的测试,对大平台的建设没有兴趣。而比较推崇楼主所言的 “小而美的工具或小平台”,准确的说是 “实用工具链”,各种工具能灵活运用各种类型的测试,这并不会比大平台效率降低。

    反而把一些列工具强行整合的大平台,前期开发量大(整合时考虑的情况会很多,规则会很复杂),后续如果研发模式改变,子工具、中间件、插件的升级带来的整个平台的维护量也很大,对以发展业务为主的公司来说,这些都是极大的成本。

  • go 写 http/http2 相关的服务比较方便

  • pytest 执行依赖及 test 之间传值一种处理方式:

    1. pytest 框架的 test 之间的传值:利用 fixture 即可
      conftest.py 中定义全局参数:

      @pytest.fixture(scope='session') # session是大家全局共享变量,其他仅限于各自范围内有影响
      def xGlobalArgs():
            return {}
      
    2. pytest 的 test 依赖及传值,这里 testCASE2 会等待 testCASE1 测试通过再执行

      @pytest.mark.dependency(name="test1")
      def testCASE1(xGlobalArgs):
          xGlobalArgs["token"]="123123123123123"
         pass
      @pytest.mark.dependency(depends=["test1"])
      def testCASE2(xGlobalArgs):
          print(xGlobalArgs.get("token"))
          pass
      
  • 聊聊团队对用例的想法 at 2022年08月19日

    同意@Ouroboros
    用例要看覆盖的是否全面,至于深度?????

    当然如果能覆盖全面的基础上,让用例的可阅读理解及执行效率上做点文章,才是更优的用例。

    至于为了敏捷选择脑图作为用例方式,那更考验设计者是否写的清晰了,
    业务后续维护转移其他人测试时,好不好其他人理解呢?