foone,
@foone@digipres.club avatar

this is a great test suite I've been handed.
if I run test A and then test B, it works
if I run test B and then test A, it doesn't.

NO THIS IS NOT HOW YOU DO TESTS

foone,
@foone@digipres.club avatar

ugh.
this is UI automation.
here's the problem: I have like 5 years of UI automation experience, because of the DEATH GENERATOR (and let's not even talk about the older UI automation I did back in the 2000s)

and I'm trying to automate tests written by people who do not have that much experience, and they're making all the newbie mistakes

foone,
@foone@digipres.club avatar

things like "we need to test something on menu X. So we write the test to click the Menu X button" and never considering WHAT IF MENU X IS ALREADY OPEN

foone,
@foone@digipres.club avatar

oh this is wonderful.
if you run the entire test suite, it passes
but if you disable one of the tests, it doesn't.
Testing fewer things means it fails

foone,
@foone@digipres.club avatar

it's because it runs the tests in order, A, B, then C.
and B puts it in a state where C will work.
but A leaves it in a state where C won't work

Cynon,

@foone ... and no resetting of the test state (ie, beforeeach) to keep that from happening?!?!?

foone,
@foone@digipres.club avatar

@Cynon NOPE!

foone,
@foone@digipres.club avatar

a software test failed because a screw wasn't tightened enough.

I hate testing sometimes

foone,
@foone@digipres.club avatar

this test fails if you run it more than once without rebooting the whole testing system

because it's a test of the calibration system, and it fails if there is an existing calibration.

so obviously it clears the calibration at the start, right? right? RIGHT!?

foone,
@foone@digipres.club avatar

no instead there's just a comment that says "this test will fail unless you delete this file: "

foone,
@foone@digipres.club avatar

oh god
this IDE has two "copy name" items which are similar, like "copy X name" and "copy Y name"

"copy Y name" will modify python files if you click it.

foone,
@foone@digipres.club avatar

speaking of python, this code manages to break python so much that foo.class and type(foo) don't work and just tell you object, but if you query foo.awlkhjertkla you get AttributeError: 'Bar' doesn't have attribute awlkhjertkla.

foone,
@foone@digipres.club avatar

I slightly lied.
"type(foo)" doesn't actually work because THEY CLOBBERED THE BUILTIN so you actually have to do builtins.type(foo) which then doesn't work

foone,
@foone@digipres.club avatar

oh goody
this test creates two objects in a shared persistent canvas and then checks that the object count is 2.

what happens if you run it twice, though?

coolpowers,
@coolpowers@mastodon.social avatar

@foone I think you need to work on your naming conventions, personally

foone,
@foone@digipres.club avatar

@coolpowers how dare you
that's my middle name

yakkoj,
@yakkoj@fosstodon.org avatar

@foone I am running hardware from Cisco right now that will fail line cards if the screws that hold them in are not at least 10 in-lb tight.

They'll do this randomly, too.

Not terribly bright for a router that's supposed to pass traffic instead of being a really expensive Red Hat box.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • cisconetworking
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • InstantRegret
  • Durango
  • Youngstown
  • slotface
  • thenastyranch
  • love
  • kavyap
  • tacticalgear
  • tester
  • khanakhh
  • provamag3
  • ngwrru68w68
  • everett
  • osvaldo12
  • rosin
  • cubers
  • GTA5RPClips
  • normalnudes
  • modclub
  • ethstaker
  • anitta
  • Leos
  • megavids
  • JUstTest
  • All magazines