The Wonders of AI: We Are Retiring Our Bug Bounty Program

Turso는 데이터 손상 버그에 대해 1,000달러 보상을 제공하는 버그 바운티 프로그램을 1년 만에 종료한다고 발표했다. 초기에는 시뮬레이터와 LLM, 형식적 방법론을 활용해 실제 버그를 발견하는 데 성공했으나, 최근 LLM을 이용한 무분별한 가짜 버그 제출이 급증해 유지보수 부담이 커졌다. 보상금이 오픈소스 기여 환경에 부정적 영향을 미쳐, 현재는 보상 프로그램을 중단하고 커뮤니티 개방성을 유지하는 방향을 선택했다. 이는 AI 자동화가 보안 보상 프로그램에 미치는 새로운 도전과제를 보여준다.

https://turso.tech/blog/the-wonders-of-ai

#bugbounty #opensource #llm #softwaretesting #aiautomation

The Wonders of AI: We Are Retiring Our Bug Bounty Program

For almost a year now, Turso has had a program that pays $1,000 for any bug that can be demonstrated to lead to data corruption. Today, we are retiring this program.

How to Test

이 글은 소프트웨어 테스트에 대한 저자의 경험과 접근법을 공유한다. 특히 테스트가 코드 변경에 유연하게 대응하도록 'check' 함수로 API 호출을 캡슐화하는 데이터 주도 테스트 방식을 강조한다. 또한 테스트는 코드가 아닌 기능을 검증해야 하며, 테스트 속도를 빠르게 유지하기 위해 느린 테스트는 CI에서만 실행하도록 관리할 것을 권장한다. 이러한 원칙들은 복잡한 시스템에서도 테스트 유지보수 비용을 줄이고, ML 기반 구현으로의 전환 가능성까지 고려한 실용적 방법론을 제시한다.

https://matklad.github.io/2021/05/31/how-to-test.html

#softwaretesting #datadriventesting #unittesting #testautomation #softwareengineering

How to Test

Alternative titles: Unit Tests are a Scam Test Features, Not Code Data Driven Integrated Tests

Implicit Knowledge Is a Liability

AI 코더는 프로젝트에 대한 암묵적 지식이 부족해 회귀 버그 발생 위험이 크다. 암묵적 지식을 명시적이고 재현 가능한 테스트로 전환하는 것이 AI 시대에 신뢰성 높은 소프트웨어 개발의 핵심이다. 문서나 주석 같은 명시적 지식도 종종 오래되어 AI가 무시할 수 있으므로, 행동 검증 중심의 테스트가 필수적이다. AI가 테스트 작성에 도움을 줄 수 있으나, 엄격한 감독이 필요하다. AAA, Given-When-Then 같은 테스트 패턴과 공용 API 중심 테스트가 여전히 최선의 방법이다.

https://news.ycombinator.com/item?id=48108956

#aicoding #softwaretesting #regression #implicitknowledge #testautomation

Implicit Knowledge Is a Liability | Hacker News

All the ways to mock your Rust code

Ok, so, suppose you’ve written a Kubernetes controller, you did it in Rust, and then you realized that “Hey, when this thing breaks it’s hard to understand what’s going on”. So, you decide to emit some Kubernetes events that give a little more context as to what your controller is doing and what steps it’s taken. You run all your tests

Applied Computing Research Labs

Intermediate Automation Tester (JB6057)
Hybrid, Bryanston & Isando
R50 000 to R60 000 a month CTC

#AutomationTester #TestAutomation #CI_CD #Selenium #Cucumber #WebDriverIO #APITesting #DevOps #ISTQB #SoftwareTesting

Apply: https://bit.ly/IntermediateAutomationTesterJB6057

Stop bashing bugs – they're undesirable states, not villains

이 글은 버그를 단순히 악당으로 보지 말고, 소프트웨어 시스템의 가능한 상태 중 하나로 이해하자고 제안한다. 버그는 시스템 설계자가 정의하지 않은 바람직하지 않은 상태이며, 복잡한 시스템에서는 상태 공간이 기하급수적으로 늘어나기 때문에 모든 상태를 테스트하기 어렵다. 따라서 상태 공간을 제한하고, 유효 상태를 명확히 정의하며, 행동 기반 테스트와 모델 기반 테스트를 활용해 버그를 예방하고 이해하는 접근법을 권장한다. 버그를 문제로만 보지 않고 시스템 설계와 테스트 개선의 단서로 삼는 태도가 중요하다.

https://testflows.com/blog/stop-bashing-bugs-its-all-your-fault/

#softwaretesting #stateexplosion #bugmanagement #modelbasedtesting #testautomation

Stop Bashing Bugs – It's All Your Fault!

A light and systematic look at bugs as just states in your system. Inspired by BugBash 2025 reliability conference.

TestFlows

What Is Random Generation?

이 글은 컴퓨터에서의 난수 생성 원리와 Property-Based Testing(PBT)에서의 난수 생성기 설계 방법을 다룹니다. 선형 합동 생성기(LCG) 같은 PRNG의 동작과 한계, 난수의 품질 평가 방법을 설명하며, 부동소수점, 불리언, 범위 제한 정수 등 다양한 난수 생성 기법을 소개합니다. 또한, 복잡한 랜덤 데이터 구조 생성을 위한 RNG 상태 관리 및 함수형 조합기(bind) 패턴을 통한 생성기 설계 방법도 다룹니다. 이는 AI 테스트 및 시뮬레이션, 데이터 생성에 필요한 난수 생성 이해에 도움을 줍니다.

https://alperenkeles.com/posts/what-is-random-generation/

#randomnumbergeneration #propertybasedtesting #prng #softwaretesting #functionalprogramming

What is random generation?

A simple runtime invariant miner

이 글은 Python으로 구현한 Daikon 스타일의 런타임 인바리언트 마이너를 소개합니다. sys.settrace를 활용해 함수 진입과 종료 시점에서 변수 상태를 추적하고, 후보 인바리언트를 생성해 관찰된 모든 상태에서 참인지 검사합니다. 이를 통해 테스트 오라클 문제를 완화하며, 리그레션 테스트 시 코드 변경으로 인한 동작 변화를 자동으로 감지할 수 있습니다. 프로그램 포인트별로 인바리언트를 구분하고, 중복되는 인바리언트는 억제하는 기능도 포함되어 있습니다. 이 구현은 AI 개발자들이 프로그램 동작을 자동으로 분석하고 검증하는 데 참고할 수 있는 실용적 도구입니다.

https://rahul.gopinath.org/post/2026/05/09/simple-invariant-miner/

#runtimeinvariant #python #softwaretesting #syssettrace #daikon

A simple runtime invariant miner

Research in Software Engineering from Rahul Gopinath

How to upgrade your #Cypress project to #TypeScript v6 and prepare it for the upcoming v7 release. I cover the changes I made. I also have a solution to path aliases that I wanted to keep working without baseUrl.

https://www.bartvanherck.com/posts/2026/20260508/

#testautomation #softwaretesting

Upgrade Cypress To TypeScript v6

How to upgrade your Cypress project to TypeScript v6 and prepare it for the upcoming v7 release. I cover the basic tsconfig changes and show a solution for path aliases that keeps working without baseUrl by configuring the Cypress webpack preprocessor directly.

Bart's Story

If you’re interested, let me tell you a story of a weird bug that I encountered, that we just cannot figure out how it happened.

I recently created a new test account to our system. Set the password and went through the intro flow, login seems to work fine.

Today I try to login using Bitwarden—as that’s where I saved the login credentials—and noticed that the system now says the password is incorrect. Ok, no big deal. I’ll just reset the password.

But after reset, same thing happens. I autofill password from Bitwarden (and made sure even that it’s the correct password by inspecting the input field value) but the password is still incorrect.

So to make sure I’m actually using the correct password, I paste it manually. Now the login works.

Stunned I thought it has to be Bitwarden issue then, but nope: LastPass does the exact same thing.

And to make things even more weird, all the other accounts work when using LastPass or Bitwarden just fine.

There are a few things that make the broken account a bit different from others and I’m trying to replicate it by checking those, but those are all things that should affect our end, which shows the account fine and the login does actually work so it’s not that either.

None of us have any idea what might be the cause. It seems impossible thing to even happen but here we are. I bet it’s cursed.

#Testing #SoftwareTesting