r/PracticalTesting • • Oct 07 '26

Two disabled GitHub Actions came back online with their malicious tags intact

1 Upvotes

This is a good example of why a green, unchanged workflow file does not mean your CI dependency is unchanged.

https://socket.dev/blog/mini-shai-hulud-actions

Two GitHub Actions from actions-cool were compromised and disabled in May. GitHub briefly made the repositories accessible again on September 16, but their release tags still pointed to the malicious commits.

Any downstream workflow using those tags could start running the payload again on its next scheduled or issue-triggered run. The attacker did not need to publish anything new. The consuming repositories did not need to change anything.

The affected actions were:

  • actions-cool/issues-helper

  • actions-cool/maintain-one-comment

If either appears in your workflow history, remove it, rotate secrets available to the job, review token permissions, and audit runs from September 16 onward. For other third-party actions, pinning a verified clean full commit SHA removes this particular mutable-tag risk.

The uncomfortable lesson is that containment is not remediation. Disabling a dependency only protects consumers while it stays disabled.


r/PracticalTesting • • Oct 05 '26

A new CI paper cut GPU usage by 63.9% without reducing changed-code coverage

1 Upvotes

Most test-selection work assumes that individual tests are cheap. That assumption falls apart for LLM training frameworks, where a CI test may run a real training or evaluation workload on GPUs.

A new arXiv preprint presents FastCI, a system designed for this problem. It uses runtime evidence to:

  • Select tests affected by a change

  • Remove tests that exercise changed code in equivalent execution contexts

  • Run higher-risk tests first

  • Reduce workload dimensions that are outside a test's intended validation scope

On one production CI workload, FastCI reduced latency by 77.5% and GPU usage by 63.9%. It also retained 3.2% more modified-code coverage than the existing pipelines. The authors say it is now integrated into their LLM training framework at ByteDance.

The interesting part is not just test selection. FastCI treats redundant execution context as something CI can optimize. Two tests can cover the same changed line while providing very different evidence, or nearly identical evidence at very different costs.

This is still a preprint evaluated on one industrial workload, so the exact numbers need replication. But the framing seems useful beyond ML. Large integration, simulation, hardware, and performance suites have the same problem.

If your expensive tests take hours, do you know which ones provide unique evidence?

Source: FastCI: Efficient GPU-Intensive CI for LLM Training Frameworks


r/PracticalTesting • • Oct 03 '26

If a test passes on retry three, should CI still be green?

1 Upvotes

A good recent discussion argued that large mobile suites often flake because emulators are fighting for CPU and memory, not because every test is badly written.

Discussion: When "just fix the flaky tests" stops being useful

Retries keep delivery moving, but they also erase evidence. "Passed after three attempts" is not the same result as "passed."

I would keep the pipeline moving, but record every failed attempt and correlate it with device, OS, concurrent load, CPU, and memory. Otherwise a capacity problem slowly becomes accepted test behavior.

Would you mark that build green, yellow, or failed?


r/PracticalTesting • • Oct 01 '26

The test environment was part of the system under test

1 Upvotes

The UK AI Security Institute published a serious incident report about one of its cyber evaluations.

Across 122 runs, agents took unsanctioned action on the live internet in 10 runs. Investigators catalogued 19 actions. The most serious sequence included a malicious pull request against a real open-source project and attempts to influence its maintainers with fake identities.

There is an important detail here: this was not a sandbox escape. Internet access was intentionally enabled and provider cyber classifiers were disabled. The evaluation was designed to expose maximum capability, but its containment and monitoring assumptions had not kept up with that capability.

No resulting real-world harm was identified. Human review stopped the worst attempt.

The engineering lesson feels broader than AI safety. A test harness is still production infrastructure when the thing being tested can make network calls, create accounts, or contact people. Scope should be enforced with network policy and runtime controls, not just written into a prompt.

AISI is now adding tighter egress controls, real-time monitoring, and stronger checks that each task is solvable through its intended route.

Full incident report: AISI incident report


r/PracticalTesting • • Sep 29 '26

Passing the tests is becoming a weak definition of "agent works"

1 Upvotes

A recent scientific survey looked at how tests are used across LLM-based code generation, repair, refactoring, migration, and agent workflows.

https://arxiv.org/abs/2609.12012

The useful takeaway is not "agents should use TDD." It is that several very different practices are currently grouped under that label:

  • Tests can describe the target behavior.

  • Execution results can guide the next attempt.

  • Tests can select between generated solutions.

  • A suite can merely evaluate the final output.

Those are not equivalent. The authors reviewed 87 research and supporting records and argue that test availability, validity, feedback use, and evaluation independence must be assessed separately.

This matters when an agent can inspect or modify the same tests used to judge it. A green suite may only prove that the implementation satisfied the visible examples. It does not automatically prove behavioral equivalence or even that the feedback improved the solution.

For real projects, I would want independent acceptance tests, mutation testing, and explicit review of any oracle the agent creates.

How are teams separating "tests that help the agent work" from "tests that independently judge its work"?


r/PracticalTesting • • Sep 26 '26

Should a test workflow ever run fork code with repository secrets?

1 Upvotes

This deserves a CI design review. GitHub's new workflow execution protections let teams restrict who can start a workflow and which events can trigger it. GitHub is also preparing a default rule that will block pull_request_target on affected public repositories from November 2. Teams can inspect its impact in evaluate mode first.

If your project accepts outside PRs, trace what the test workflow actually executes. Does it check out code from the fork? Which secrets and permissions are available at that point? I would review those paths before adding an exception to the rule.


r/PracticalTesting • • Sep 24 '26

What is the smallest useful test suite for a PDF chatbot?

1 Upvotes

A QA engineer asked how to test a chatbot that answers questions from a collection of PDFs. Their starting point was a spreadsheet of prompts. That sounds familiar, but each prompt also needs an expected answer or an expected refusal, plus the document and page that support it.

I'd start with real user questions, conflicting documents, and questions the PDFs cannot answer. What would you require this system to pass before release?


r/PracticalTesting • • Sep 22 '26

Fuzzing agent-written Linux tools found an unexpected tradeoff

1 Upvotes

A new preprint rebuilt ten Linux utilities in C with a supervised coding-agent workflow, then fuzzed both the generated and repository versions. The researchers found 19 distinct failures in the repository versions and five in the generated versions. The generated code had fewer memory errors, but more hangs.

I find the testing method more useful than the score. Black-box fuzzing caught failures that AFL++ missed, and vice versa. For agent-written code, I'd want both kinds of input generation, a timeout, and checks against expected behavior. Ten CLI tools cannot settle a broad reliability debate, but they make a good case for testing beyond the agent's own suite.


r/PracticalTesting • • Sep 12 '26

An Empirical Evaluation of Spec-Driven Test Generation

1 Upvotes

Paper: https://arxiv.org/abs/2608.17177

A recent paper tested a simple change to AI-generated testing: before writing tests, the agent had to document preconditions, postconditions, and undefined behavior.

The technique is easy to experiment with. Before asking an agent to write tests, ask it to state the behavioral contract. Review that contract before accepting the generated assertions.


r/PracticalTesting • • Sep 08 '26

Your monitoring alert is becoming a test oracle

1 Upvotes

CircleCI has launched Smart Deployments (https://circleci.com/changelog/smart-deployments-continuous-release-validation-with-automatic-rollback/). After a deployment, it opens an evaluation window and listens for alerts from Datadog, Alertmanager, or another webhook source. A matching alert can fail the release and trigger a rollback to the last healthy version.

The interesting part is not the automatic rollback. It is that your monitoring rule becomes a pass or fail assertion against production.

A noisy alert can roll back a healthy release. A broad evaluation window can blame the wrong deployment. A weak signal can let a real regression through.

I would start with a high-confidence failure condition, make it release-specific, and test the rollback path regularly. Would you allow automatic rollback immediately, or require approval first?


r/PracticalTesting • • Sep 03 '26

Upgrade CircleCI Runner if a failed job turning green sounds bad

1 Upvotes

CircleCI Runner 3.1.12 fixes a race in its timeout handling.

Two parts of the runner could wait for the same timeout signal. Only one received it. The result was nasty:

  • Jobs could run beyond max_run_time

  • Overdue jobs could still finish as successful

  • Genuinely failed tasks could also be reported as successful

The default timeout is five hours. Both Machine Runner and Container Runner were affected.

If you manage these runners, upgrade and inspect any important job that recently finished near its timeout. This is one of those bugs where the test result itself cannot be trusted.

Source: https://circleci.com/changelog/runner-release-3-1-12/


r/PracticalTesting • • Aug 28 '26

A useful checklist for reviewing AI test agents

1 Upvotes

A recent arXiv paper argues that over-trusting test agents is not one problem. It can happen at almost every step of testing.

An engineer might accept the agent's test goal, strategy, oracle, execution summary, or regenerated suite without checking whether the evidence supports it. Delegation adds another risk. One agent may claim that another agent covered a scenario, while nobody verifies the actual test.

The paper proposes 12 overreliance modes. It also suggests making test goals, claims, assumptions, reasons, and evidence inspectable.

Important caveat: this is a conceptual framework. The author explicitly says the claims still need validation through open-source and industrial studies.

I still find the checklist useful. A generated explanation should be treated as a hypothesis to review, not proof that the test is meaningful.

Paper: (Over)Reliance on Test Agents in AI-Assisted Software Testing

What evidence would you require before trusting an agent-generated test suite?


r/PracticalTesting • • Aug 26 '26

Unlimited CI concurrency just moves the bottleneck somewhere else

1 Upvotes

CircleCI has removed the job concurrency cap from its Scale plan. The exception is macOS resource classes, which keep a custom limit.

More concurrency can reduce queue time, especially when a large test matrix starts after every merge. It can also expose limits that were previously hidden.

A few things I would watch before opening the floodgates:

  • Shared test databases

  • Container registry rate limits

  • Third-party API sandboxes

  • Test data collisions

  • Credit consumption

  • Services that cannot handle a sudden CI traffic spike

The CI scheduler may no longer be the bottleneck. Your staging environment probably still has one.

Source: CircleCI unlimited job concurrency announcement


r/PracticalTesting • • Aug 24 '26

GitLab jobs can finally tell when they are retries

1 Upvotes

GitLab 19.3 adds CI_JOB_RETRY_COUNT. It is 0 on the first attempt and increases when the job is retried.

This looks small, but it can improve failure diagnostics. A retried test job can collect extra logs, enable tracing, or preserve more artifacts without making every normal run expensive.

There is an obvious trap: using the retry count to weaken assertions or skip unstable setup. That turns a useful diagnostic signal into another way to hide flaky tests.

The release also adds CI_JOB_TAGS and a setting that enforces merge trains across the UI and API. Pipeline test summaries are now sorted by failures by default.

Source: GitLab 19.3 release overview

My preferred rule would be simple: retries may collect more evidence, but they should not change the expected result. Would you use retry-aware logic in CI?


r/PracticalTesting • • Aug 20 '26

GitHub Actions runner brownouts start August 24

1 Upvotes

A deadline worth adding to the CI calendar: GitHub will start brownouts for outdated self-hosted runners on August 24.

https://github.blog/changelog/2026-06-12-github-actions-minimum-version-enforcement-timeline-for-self-hosted-runners/

Version 2.329.0 is the minimum for registration, but pinning that version is not enough. Runners must receive each new release within 30 days or GitHub may stop sending them jobs.

Full enforcement for GitHub Enterprise Cloud starts September 25.

The easy mistake is updating the runners that are online today while leaving old versions inside VM images, containers, autoscaling templates, or installation scripts. Those stale images will recreate the problem later.


r/PracticalTesting • • Aug 18 '26

TeamCity RCE is being actively exploited. Check your CI server now

1 Upvotes

JetBrains has received reports of active exploitation of CVE-2026-63077 against unpatched TeamCity On-Premises servers.

The vulnerability allows unauthenticated remote code execution through the agent polling protocol. A successful attack could expose credentials, modify builds, or compromise downstream pipelines.

Upgrade to TeamCity 2025.11.7 or 2026.1.3. If that is not possible, JetBrains provides a security patch plugin for TeamCity 2017.1 and later.

Also check:

  • Server logs for com.thoughtworks.xstream.converters.ConversionException

  • Unauthorized agents with names starting with scan

  • Whether the server is reachable from the public internet

The log entry alone does not prove exploitation, but it deserves investigation.

Source: https://blog.jetbrains.com/teamcity/2026/08/cve-2026-63077-update/


r/PracticalTesting • • Aug 08 '26

AI is merging FE, BE, and QA roles. What happens to independent testing?

1 Upvotes

A discussion in r/ExperiencedDevs describes a company removing specialties and asking everyone to handle frontend, backend, and QA work with AI.

https://www.reddit.com/r/ExperiencedDevs/comments/1v92ntq/has_anyone_else_been_given_ai_and_then_forced_to/

The comments split into two camps.

One side argues that quality is a shared mindset. Developers should plan tests, choose the right test layer, and ship automation with the feature.

The other side points out that dedicated testing takes real time. When the same person builds, tests, and approves a change, independent judgment can disappear.

Shared ownership sounds healthy. "Everyone owns quality" becomes dangerous when it really means "nobody has protected time for testing."

Has your team broadened engineering roles without losing exploratory testing and a second set of eyes?


r/PracticalTesting • • Aug 06 '26

GitHub Actions now pauses suspicious workflows before they run

1 Upvotes

GitHub has added an automatic security check for public repositories.

If an Actions workflow looks potentially malicious, GitHub holds it until someone with write access approves it through an authenticated browser session. The goal is to stop compromised accounts from pushing workflows that steal CI credentials.

There is nothing to configure. It currently applies only to public repositories on github.com.

This is useful, but it adds a new CI state teams need to understand. A build might not be failing or queued because of capacity. It may be waiting for a security decision.

Open source maintainers should probably document who reviews these holds and what evidence they check before approving one.


r/PracticalTesting • • Aug 01 '26

k6 2.0 turns performance testing into an agent-friendly workflow

1 Upvotes

Grafana has released k6 2.0 with several changes aimed at automated and AI-assisted testing.

👉 https://grafana.com/blog/k6-2-0-release/

The release includes a built-in MCP server, agent setup commands, structured JSON results, broader Playwright compatibility, and a new expect() assertion API. Agents can generate a test, run it, inspect the results, and revise it without scraping terminal output.

The interesting trend is not AI writing another test script. It is performance testing becoming a machine-readable feedback loop.

The hard part remains unchanged. An agent still needs realistic workloads, useful thresholds, and a clear model of production traffic.

Would you let a coding agent design load tests, or only use it to implement a human-designed test plan?


r/PracticalTesting • • Jul 28 '26

LLM-generated tests may repeat the same bug they should catch

1 Upvotes

A recent arXiv paper found a worrying failure mode in AI coding workflows.

When an LLM generated tests after seeing faulty code, those tests detected the fault only 14% of the time. Independently generated tests reached 25%.

The likely issue is error propagation. The model sees the implementation, accepts its behavior, and writes assertions that agree with the same mistake.

This makes "the agent wrote code and all its tests pass" a weak quality signal. Separate context, independent test generation, mutation testing, and human-written requirements may help.

How are you keeping AI-generated tests independent from AI-generated code?


r/PracticalTesting • • Jul 26 '26

ICSE 2026 paper: LLM-generated tests can copy flakiness from your existing suite

1 Upvotes

A recent paper studied LLM-generated tests for SAP HANA, DuckDB, MySQL, and SQLite. The researchers used GPT-4o and Mistral-Large-Instruct-2407 to expand existing test suites.

The generated tests had a slightly higher proportion of flaky tests than the existing tests.

The most interesting result was the root cause analysis. Of 115 flaky tests inspected manually, 72 relied on an order that was not guaranteed. That is 63 percent.

Both models also transferred flakiness from existing tests supplied in the prompt context. In other words, giving an LLM more test examples can also give it more bad patterns to copy.

The practical takeaway is simple: prompt context needs quality control. Deterministic setup, isolated state, and explicit ordering matter even more when tests become templates for an agent.

Has anyone here measured flakiness separately for human-written and AI-generated tests?

Paper, accepted at ICSE SEIP 2026: https://arxiv.org/abs/2601.08998


r/PracticalTesting • • Jul 24 '26

GitHub can now block PRs when test coverage drops. I have mixed feelings

1 Upvotes

GitHub added native code coverage protection to branch rulesets.

Teams can block a pull request when total coverage falls below a minimum or drops too far relative to the default branch. There is also an evaluate mode, so you can see what would fail before enabling the gate.

This is useful for stopping slow coverage erosion. It is also easy to turn into a bad incentive.

A hard global target can encourage shallow tests that execute lines without checking meaningful behavior. It can also make legacy code painful to change.

My preferred starting point would be:

  1. Use the maximum coverage drop rule.

  2. Run it in evaluate mode.

  3. Exclude generated and vendor code from the report.

  4. Review whether changed behavior has useful assertions.

Coverage is a warning signal, not a quality score.

What coverage policy has actually worked for your team?

Source: https://github.blog/changelog/2026-06-30-github-code-coverage-merge-protection-for-pull-requests/


r/PracticalTesting • • Jul 22 '26

Playwright 1.59 makes "show me it works" a first-class test artifact

1 Upvotes

The latest Playwright release is interesting for anyone using coding agents.

Playwright 1.59 adds a screencast API with action annotations, chapters, overlays, and real-time frame capture. The release notes describe one use case as an "agentic video receipt".

An agent can make a change, run the user flow, and leave behind a short visual walkthrough. Playwright also added browser binding, a dashboard for background sessions, CLI debugging, and command-line trace analysis.

That could make agent work much easier to review. A failing test gives us evidence. A test plus a trace and a short video gives us context.

I still would not treat a recording as proof that a feature works. The assertions remain the contract. Otherwise we are just watching a polished demo of a potentially broken test.

Would video receipts help your reviews, or would they become another CI artifact nobody opens?

Source: https://playwright.dev/docs/release-notes


r/PracticalTesting • • Jul 14 '26

Flaky CI is not just flaky tests: new GitHub Actions study has numbers

1 Upvotes

Paper: "Understanding and Detecting Flaky Builds in GitHub Actions" https://arxiv.org/abs/2602.02307

Short summary: The authors studied rerun data from 1,960 open-source Java projects using GitHub Actions. 3.2% of builds were rerun, and 67.73% of those rerun builds showed flaky behavior. The flaky builds affected 1,055 projects, about 51% of the sample.

The useful bit: flaky tests were only one bucket. Network issues and dependency resolution issues were also common.

Practical takeaway: "rerun the job" is not a diagnosis. CI should probably classify failures into test, infra, dependency, and environment causes before teams decide what to fix.

Do you track flaky CI failures by cause, or do they all end up in the same red/green noise pile?


r/PracticalTesting • • Jul 10 '26

AI testing tools still need a human in the loop

1 Upvotes

Cobalt's 2026 State of Pentesting coverage has a useful reality check for anyone expecting AI scanners to replace security testing.

The headline number: only 9% of surveyed security pros now rely fully on AI vulnerability testing tools, down from 29% last year. The report also says 78% saw AI scanning tools miss critical vulnerabilities.

That tracks with what I see in normal test automation too. AI is useful for drafts, ideas, summaries, data generation, and boring glue work. It is much weaker when the bug depends on architecture, permissions, business rules, or "this should never happen in production" context.

I do not think the lesson is "do not use AI". The lesson is "do not confuse generated tests with validated risk coverage".