Closed zepumph closed 6 months ago
Added above. I will see if anyone wants to review it, but for me in BAN it is working really nicely!
Questions for the reviewer:
Let me know what you think!
UPDATE: Perhaps the home button on the nav bar could be disabled too, as that will increase the time on sim specific content.
In review @zepumph and I discussed that we want to change the query parameter to a probabilistic one so that we can tune the amount of time spent in dialogs. Right now fuzzing spends way too much time in modals. But we don't want to always have to avoid them completely. Probably something like ?showModalProbability=1
, but you could set it to 0 if you don't want any modals.
Second, fuzzing does not do a very good job of visiting the state space, and we would like to reconsider https://github.com/phetsims/axon/issues/383
We also heard an unexpected behavior in Center and Variability that the first time clicking on a disabled modal it plays one sound and the second time it plays another sound.
@zepumph also comments that we don't really need to always fuzz the common code components, such as the home screen, the navigation bar, the phet menu, etc. So we could just fuzz that once (per CT column) and not across all our sims.
We also would like to move the guard upstream into show
.
I totally understand the above comment, but I don't actually think it would be very useful for me. I stopped using ?disableModals almost immediately after writing it in August. I just reverted it, and I think that this issue is best closed. We could work on better features for fuzz testing in another issue if we feel it is worth while.
Today @marlitas mentioned that she was missing ?disableModals
I'm sorry! I should have asked before removing it. Reopening.
@zepumph asked me to add my goals and usages for?disableModals
:
I second @marlita's comments above. As a data point, she and I were doing some fuzz testing of phet-io state in the mean-share-and-balance sim, and we noticed that the sim was spending a significant percentage of its time on the preferences dialog. I suppose this isn't surprising since the dialog is huge, so it soaks up a lot of the fuzz events, but it seems like a problem for testing other aspects of the sim. Being able to disable it (and other modal dialogs) saves us time in tracking down bugs with other aspects of the sims.
Thanks! That is really helpful! I reverted the removal above, and added it to phetmarks. I'll spent another 15 minutes thinking about the other pieces of this issue before closing.
After reverting, I see a better way to do it is to prevent show(), not just the isShowingProperty listener. Fixed above.
@samreid, can you please review, and then also apply this patch and see if you like it better? We discussed probabilities, and so it may be a more long-term solution.
To be clear, there are 3 potential paths forward:
The commits and the runtime behavior look good. The patch is a good implementation of the probability idea, but after reflection, maybe it is best to keep this simpler as a boolean. Sorry for the extra effort on the probability. Sound OK?
Sorry for the extra effort on the probability
nonsense. It was just 5 minutes and a fun exploration.
Seems very reasonable! And I think we are ready to close. Thanks.
I have a couple of assertion errors in BAN that are incredibly hard to get to, and when I look at fuzzing, much of its time is in modal features (phet menu, keyboard/preferences dialog, and sim specific dialogs). It would be great to be able to turn this off for some testing.