I have experience with AI generated test suites, and while its good for generating coverage, it isn’t so good for actually ensuring correctness, which is the actual point.
I’ve watched the robot happily introduce bugs to pass broken tests, and also break tests to match code, and everything in between.
You have to prompt for that, I do that regularly along with refactors. ‘Examine all tests to ensure they are testing functionality and not just passing a test.’ It finds them and will work on it. I think the problem continues to be engineering discipline. People are lazy with AI on multiple levels, not just copy pasta slop.
Yeah, I had testers that tested the functionality of a delay… But had set the delay parameter to zero. Well good thing this one case worked, but you didn’t check anything beyond that for correctness at all.
We continuously create tests that ensure a process completes in an set amount of time, and every time, we don’t give them enough leeway, and the test will fail randomly if the CI runner gets overloaded.
I have experience with AI generated test suites, and while its good for generating coverage, it isn’t so good for actually ensuring correctness, which is the actual point.
I’ve watched the robot happily introduce bugs to pass broken tests, and also break tests to match code, and everything in between.
I don’t want lots of tests, I want good tests.
You have to prompt for that, I do that regularly along with refactors. ‘Examine all tests to ensure they are testing functionality and not just passing a test.’ It finds them and will work on it. I think the problem continues to be engineering discipline. People are lazy with AI on multiple levels, not just copy pasta slop.
Testing functionality isn’t the same as correctness.
Yeah, I had testers that tested the functionality of a delay… But had set the delay parameter to zero. Well good thing this one case worked, but you didn’t check anything beyond that for correctness at all.
Timing and tests, name a better migraine duo :D.
We continuously create tests that ensure a process completes in an set amount of time, and every time, we don’t give them enough leeway, and the test will fail randomly if the CI runner gets overloaded.