phetsims / qa

Quality Assurance Task Tracking
MIT License
13 stars 8 forks source link

Dev-Lite Test: Calculus Grapher 1.0.0-dev.13 #898

Closed pixelzoom closed 1 year ago

pixelzoom commented 1 year ago

Dev-Lite Test

Mentions: @veillette @amanda-phet @kathy-phet @KatieWoe

Simulation links

Test Matrix

Features included

Focus and Special Instructions

This is intended to be an early/short dev test, since this sim is still being implemented.

The focus of this dev test is responsiveness of the user interface. In each screen, the graph labeled f(x) is interactive. You can click or click-drag in this graph to modify the curve. We are interested in whether these interactions are sufficiently responsive, especially on performance-challenged platforms.

Please choose test platforms as you see fit, but start with performance-challenged platforms. In the Test Matrix section above, indicate the specific devices that you used for testing, including:

In addition to overall subjective impression of responsiveness, here are some specific things to test:

Issues to Verify

None.


For QA...

General features

What to Test

- Click every single button. - If there is sound, make sure it works. - Make sure you can't lose anything. - Play with the sim normally. - Try to break the sim. - Try to include browser version numbers - If there is a console available, check for errors and include them in the Problem Description. - Run through the string tests on at least one platform, especially if it is about to go to rc. - Check the Game Up harness on one platform.
PhET-iO features

What to Test

- Make sure that public files do not have password protection. Use a private browser for this. - Make sure that private files do have password protection. Use a private browser for this. - Make sure standalone sim is working properly. - Make sure the wrapper index is working properly. - Make sure each wrapper is working properly. - Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube - For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make sure the simulation loads without crashing or throwing errors.
Accessibility features

What to Test

- Specific instructions can be found above. - Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is a list of features that may be supported in this test: - Alternative Input - Interactive Description - Sound and Sonification - Pan and Zoom - Mobile Description - Voicing - Test all possible forms of input. - Test all mouse/trackpad inputs. - Test all touchscreen inputs. - Test all keyboard navigation inputs (if applicable). - Test all forms of input with a screen reader (if applicable).

Screen Readers

This sim may support screen readers. If you are unfamiliar with screen readers, please ask Katie to introduce you to screen readers. If you simply need a refresher on screen readers, please consult the [QA Book](https://github.com/phetsims/QA/blob/master/documentation/qa-book.md), which should have all of the information you need as well as a link to a screen reader tutorial made by Jesse. Otherwise, look over the a11y view before opening the simulation. Once you've done that, open the simulation and make sure alerts and descriptions work as intended.

Platforms and Screen Readers to Be Tested

- Windows 10 + Latest Chrome + Latest JAWS - Windows 10 + Latest Firefox + Latest NVDA - macOS + Safari + VoiceOver - iOS + Safari + VoiceOver (only if specified in testing issue)

Critical Screen Reader Information

We are tracking known screen reader bugs in [here](https://github.com/phetsims/qa/blob/master/documentation/accessibility-bugs.md). If you find a screen reader bug, please check it against this list.

Keyboard Navigation

This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a screen reader.

Magnification

This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel controls. Please test magnfication and make sure it is working as intended and well with the use cases of the simulation. Due to the way screen readers handle user input, magnification is NOT expected to work while using a screen reader so there is no need to test this case.
FAQs for QA Members
There are multiple tests in this issue... Which test should I do first? Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue? Here's a template for making issues: Test Device blah Operating System blah Browser blah Problem Description blah Steps to Reproduce blah Visuals blah
Troubleshooting Information blah

Who should I assign? We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do? You should: 1. Consult the [QA Book](https://github.com/phetsims/QA/blob/master/documentation/qa-book.md). 2. Google it. 3. Ask Katie. 4. Ask a developer. 5. Google it again. 6. Cry.


liammulh commented 1 year ago

These notes apply to:

Tester = LM
Device =
    (Seemingly has no name. Also has no cart sticker. Black with black case. Lion logo on the case.)
    iPad Model MR7F2LL/A
    iPadOS 16.3
    Safari 16.3 Mobile
Time = 1.5 hour

Specific Things

In the Derivative screen, compare responsiveness with 'Tangent' checkbox checked and unchecked.

Not noticeably worse with tangent checkbox checked.

In the Integral screen, compare responsiveness with 'Area Under Curve' checkbox checked and unchecked.

Not noticeably worse with area under curve checkbox checked.

The Lab screen is the worst case, since it shows 3 graphs at a time. How does its responsiveness compare to the other screens?

See notes about lab screen below.

General Notes

The performance on the derivative, integral, and advanced screens was fine. The lab screen's performance is slightly worse.

The circled line in the below screenshot is a bit "fuzzy". This happens to the curves/lines in this sim a lot on the iPad I was using to test.

Integral Screen

With the area under curve checkbox checked, I've seen some weirdness. If you click buttons A and B, make a tall "high frequency" curve, then press button C, make the curve as vertical as possible, then click button D to move the curve to the top of the screen (or the bottom), then press button C again to mess around with the curve, you start to see some interesting dots:

weird

These dots move around as you move the curve, and they're not completely solid; you can see the background color coming through with some of them.

Lab Screen

Initially, with no configuration, the performance is noticeably worse than the other screens. However, if you click the button that allows you to create a piecewise function, the performance degrades to the point where the curve being drawn is well behind where your finger is on the screen.

stemilymill commented 1 year ago
Tester = E2 
Device = Lenovo 100e Chromebook gen 2 MTK
ChromeOS Version 110.0.5481.112 (32-bit)
Time = 1.5 hr{max 2 hours} 

Testing with the chromebook I had the same experience as Liam, except that I did not have the dots on the Integral screen.

On the Lab screen, the performance is significantly worse (mostly with piecewise function) but I would still consider it usable. This chromebook is not touchscreen, and the lag might just be less obtrusive with trackpad input than touch input.

pixelzoom commented 1 year ago

Thank you QA.

Next step is to review these results, and break into separate GitHub issues. @veillette and I will do that when he returns.

pixelzoom commented 1 year ago

@liammulh's report of "interesting dots" is being tracked in https://github.com/phetsims/calculus-grapher/issues/241.

@liammulh's report of lines being "a bit fuzzy" (antialiasing) is being tracked in https://github.com/phetsims/calculus-grapher/issues/242.

@liammulh and @stemilymill's performance feedback/concerns are being tracked in https://github.com/phetsims/calculus-grapher/issues/243.

I believe that covers all of the QA feeback from above comments.

pixelzoom commented 1 year ago

In 2/27/2023 Calculus Grapher design meeting, we decided that we need further performance testing with some PhET-iO-only features enabled (labeledLines, labeldPoints). I polled @stemilymill and @liammulh, and we decided to continue with this issue for futher testing, since that testing should involve the same devices. I’ll assign this issue back to @stemilymill and @liammulh, with specific instructions, when it’s ready for further testing.

pixelzoom commented 1 year ago

@stemilymill @liammulh please do another round of performance testing when you have time. 30-60 minutes should be sufficient.

Here are the links for the new dev version:

Again we are interested primarily in evaluating responsiveness of the sim when clicking or click-dragging in the graph labeled f(x). What's different about this test is that we'll be turning on features that are only available via PhET-iO. These features are called "labeled lines" and "labeled points". Here's a screenshot that shows these features made visible using query parameter ?labeledLinesVisible=true&labeledPointsVisible=true. The labeled lines are the vertical dashed lines with labels A,B,..F. The labeled points are the point on the f(x) curve labeled A,B,...F.

screenshot_2372

Please test on the devices that you used previously, or similar devices if they are not available. Please note the device when reporting your results.

Specific things to test:

(1) Compare the brand=phet version with and without query parmaters ?labeledLinesVisible=true&labeledPointsVisible=true. How is responsiveness affected? Is the sim usable? Is performance OK when the "Tangent" or "Area Under Curve" checkbox is check? How about on the Lab screen, where 3 graphs are visible?

(2) Repeat (1) with brand=phet-io version, by clicking the Simulation link in the wrapper index. This runs the standalone PhET-iO version. How does performance compare to brand=phet? Is the sim usable?

liammulh commented 1 year ago

My number one priority right now is fixing Rosetta. And then I have another issue I have to finish before the sprint is over. I probably won't get to this today.

pixelzoom commented 1 year ago

No problem @liammulh. FYI, our goal is to start QA dev testing by Monday, March 20. So if we can get this performance testing done by end-of-day Tuesday, March 14, that would be great.

stemilymill commented 1 year ago
Tester = E2 
Device = Lenovo 100e Chromebook gen 2 MTK
ChromeOS Version 110.0.5481.181 (32-bit)
Time = 1 hr

Performance seems improved from dev.13. Even in phet-io standalone and with ?labeledLinesVisible=true&labeledPointsVisible=true , I noticed slightly less lagging in dev.21 while using the freeform tool than I did in the previous round of testing with dev.13.

The only odd thing I did notice was that the labeled points are visible when the plotted curve extends beyond the area of the graph (github is not allowing me to add images again but i will attempt again later)

pixelzoom commented 1 year ago

In https://github.com/phetsims/calculus-grapher/issues/278, we identified (and addressed) a significant amount of redundant work that was being done while the user is manipulating the curve. The sim is now noticeably snappier and more responsive. So rather than have @liammulh test what is now an old/irrelevant dev versions, we're going to stop this test here, and close this issue.

@stemilymill @liammulh thanks for your testing efforts.