phetsims / calculus-grapher

"Calculus Grapher" is an educational simulation in HTML5, by PhET Interactive Simulations.
GNU General Public License v3.0
4 stars 4 forks source link

Inform QA about important queryParameters for dev Test #292

Closed veillette closed 1 year ago

veillette commented 1 year ago

This issue is to remind us to let the QA team to be on the look out for some particular kind of behaviors that were problematic during the development of the simulation. In addition, we would like to inform them of queryParameters that are useful to test and unearth problematic behaviors.

veillette commented 1 year ago

An important concept to understand ,for testing purposes, in this simulation, is a cusp: A cusp or corner in a curve is a sharp turning point. FYI, the concept of cusp is not important for students, and therefore we do not explicitly exposed cusps to student.

The cusps can be highlighted in this simulation through a private QueryParameters: cuspPoints. The are visible as green circles on the f(x) curve below.

Calculus Grapher screenshot (44)

If the sim code fails to correctly identify cuspPoints, it leads to a failure in the calculation of the derivative. For instance:

veillette commented 1 year ago

A useful queryParameter is numberOfPoints=400, where one can put whatever numberOfPoints is deemed appropriate. By default the sim has 1251.

Testing with a small numberOfPoints can allow the QA team more control over the curve, for testing corner cases. For instance, the team may want to put the cusps or discontinuities right over the edge of the curve. Calculus Grapher screenshot (45)

Clearly, decreasing the numberOfPoints increases the discretization of the curve, which is a known side effect. However, reducing the numberOfPoints has proved to be useful in identifying shortcomings of the simulation.

veillette commented 1 year ago

We had a meeting on 3/20 with QA and discussed the QA parameters, some terminology, and undo button. . Useful QA parameters include:

pixelzoom commented 1 year ago

Dev test was completed, so I'm going to close this issue.