Applet Name: flydata, flyall
Purpose:
Allows the user to graph functions and dynamically change the constants
and subsequently the graph of the function.
Description:
Input a function and graph the function. Slider bars appear matching a
color to the constant/coefficient of the function it controls. The
step-size of the slider is controlled in two ways: by the smallest
significant digit or by the "set window" dialog box. Display options
include showing a background grid on the graph, displaying vertical
asymptotes, and tracing out the functions drawn from moving the sliders.
Data Specifications:
This Test Suite is used for both Data Flyer (flydata) and Function Flyer (flyall).
Function Flyer uses the exact same code as Data Flyer only with certain features disabled i.e. testing Data Flyer will cover Function Flyer.
Test Case Title | Description |
---|---|
Test1_functionflyer: Applet Layout | Verify that the applet's layout is correct and formatted properly (i.e. no cutoff buttons or text). |
Test2_functionflyer: What, How and Why pages | Verify the what, how and why pages come up correctly. Ensure that any functionality or usage changes are reflected in the text of the what, how and why pages if necessary. Note: This is not valid on totest site. |
Test3_functionflyer: Whole Number Granularity | Input: 1*cos(1*x+0)+0 Output: Graph of cos(x) and 4 sliders. Each slider should move in a step size of 1 unit. x f(x) -10.00 -0.84 -9.6 -0.98 -9.2 -0.97 -8.8 -0.81 -8.4 -0.52 -8.00 -0.15 -7.6 0.25 -7.2 0.61 -6.8 0.87 -6.4 0.99 -6.00 0.96 -5.6 0.78 -5.2 0.47 -4.8 0.09 -4.4 -0.31 -4.00 -0.65 -3.6 -0.9 -3.2 -1.00 -2.8 -0.94 -2.4 -0.74 -2.00 -0.42 -1.6 -0.03 -1.2 0.36 -0.8 0.7 -0.4 0.92 0.00 1.00 0.4 0.92 0.8 0.7 1.2 0.36 1.6 -0.03 2.00 -0.42 2.4 -0.74 2.8 -0.94 3.2 -1.00 3.6 -0.9 4.00 -0.65 4.4 -0.31 4.8 0.09 5.2 0.47 5.6 0.78 6.00 0.96 6.4 0.99 6.8 0.87 7.2 0.61 7.6 0.25 8.00 -0.15 8.4 -0.52 8.8 -0.81 9.2 -0.97 9.6 -0.98 10.00 -0.84 |
Test4_functionflyer: Asymptote Detection | Input: Graph 1*tan(1*x+0)+0 and check the "Show Vertical
Asymptotes" check box. Output: Graph of tan(x) and 4 sliders. Each slider should move in a step size of 1 unit. There should be red vertical lines drawn at each asymptote. Expect numerical error when increasing the slider that controls the frequency of the function. x f(x) -10.00 -0.65 -9.6 -0.18 -9.2 0.23 -8.8 0.72 -8.4 1.65 -8.00 6.8 -7.6 -3.85 -7.2 -1.3 -6.8 -0.57 -6.4 -0.12 -6.00 0.29 -5.6 0.81 -5.2 1.89 -4.8 11.38 -4.4 -3.1 -4.00 -1.16 -3.6 -0.49 -3.2 -0.06 -2.8 0.36 -2.4 0.92 -2.00 2.19 -1.6 34.23 -1.2 -2.57 -0.8 -1.03 -0.4 -0.42 0.00 0.00 0.4 0.42 0.8 1.03 1.2 2.57 1.6 -34.23 2.00 -2.19 2.4 -0.92 2.8 -0.36 3.2 0.06 3.6 0.49 4.00 1.16 4.4 3.1 4.8 -11.38 5.2 -1.89 5.6 -0.81 6.00 -0.29 6.4 0.12 6.8 0.57 7.2 1.3 7.6 3.85 8.00 -6.8 8.4 -1.65 8.8 -0.72 9.2 -0.23 9.6 0.18 10.00 0.65 |
Test5_functionflyer: Tenths Granularity | Input1: 0.1*x-1 Output1:
Output2:
Output2:
|
Test6_functionflyer: Scientific Notation Boundaries | Input1: 0.000001*x Output:1
Output2:
Output3:
Output4:
Input5: 0.0003*x+5 Output5:
Input6: 0.00030*x+5 Output5:
Input7: 0.000300*x+5 Output5:
|
Test7_functionflyer: Scientific Notation for Input Boundaries | Input1: 1e-4*x Output1:
Output2:
Output3:
Output4:
Output4:
Output4:
|
Test8_functionflyer: Power Functions with Fractional Exponents |
Input1: x^(1/2) and check the "Exponents Change" box. Output1:
|
Test9_functionflyer: Power Functions with Decimal Exponents | Input: x^1.1, check the "Exponents Change" check box and then graph. Output:
Output:
|
Test10_functionflyer: Power Functions with a Fractional Exponent containing a Decimal | Input: 3-x^(1.2/3) Output: An error message saying that numerator and denominator should be integers. |
Test11_functionflyer: Other Functions with Restricted Domains | Input1: 1*sqrt(x-0)-0 Output1:
Input2: 1/(x-0)+0 Output2:
|
Test12_functionflyer: Logarithmic Functions | Input1: 1*log(x-0)+0 Output1:
|
Test13_functionflyer: Proper functioning of negative sign on a variable | Input1: -x Output1: Graph of -x. Input2: -x^2, check the "exponents change" box. Output2: Graph of -x^2 with corresponding slider ranging from -8 to 12 with a step of 1. Make sure the graph appears as -(x^a) as opposed to (-x)^a. |
Test14_functionflyer: Exponential Functions | Input: 1^x Output: Graph of 1^x with 1 slider bar that ranges in values from -9 to 11 with a step of 1. Make sure when the slider makes the corresponding values negative it graphs as -(a^x) as opposed to (-a)^x |
Test15_functionflyer: Set Window | Input1: Click the "Set Window" button. Output1: Ensure the window pops up and all components appear correctly, i.e. x min: -10.0, x max: 10.0, y min: -10.0 and y max: 10.0. Input2: Change values in the "Set Window" window to xmin=1, xmax=10, ymin=1, ymax=10 and click set. Output2: The graph paper should contain the first quadrant and no axes should appear though the values for the scales should appear along the left and bottom sides from 1.9 to 10.0 in increments of 0.9 units. Input3: Change values in the "Set Window" window to xmin=-1, xmax=-10, ymin=1, ymax=10 and click set. Output3: An error window should oop up that says xmin should be less than xmax. Input4: Change values in the "Set Window" window to xmin=-10, xmax=-1, ymin=1, ymax=10 and click set. Output4: The graph paper should contain the fourth quadrant and no axes should appear though the values for the scales should appear along the right and bottom sides from 1.9 to 9.1 in increments of 0.9 units. Some y values will get overwritten by the pan/zoom buttons. Input5: Change values in the "Set Window" window to xmin=-10, xmax=-1, ymin=-10, ymax=-1 and click set. Output5: The graph paper should contain the third quadrant and no axes should appear though the values for the scales should appear along the top and right sides from 1.9 to 9.1 in increments of 0.9 units. The smaller y values will get overwritten by the pan/zoom buttons. Input6: Change values in the "Set Window" window to xmin=1, xmax=10, ymin=-10, ymax=-1 and click set. Output6: The graph paper should contain the second quadrant and no axes should appear though the values for the scales should appear along the top and left sides from 1.9 to 9.1 in increments of 0.9 units. |
Test16_functionflyer: Show Vertical Asymptotes | Input1: 1/(x+0). Set Function. Check "Show Vertical Asymptotes" box. Use the green slider to change the
value of the 0. Output1: The "Show Trace" and "Clear Trace" buttons should become grey. A thin red line should appear for the vertical asymptote and should move appropriately as the slider is moved. Input2: 1*x^2. Set Function. Check "Show Vertical Asymptotes" box. Use the green slider to change the value of the 0. Output2: The phrase "No Vertical Asymptotes Found" should appear on the graph paper. As the slider moves, asymptotes may appear. Input3: Uncheck the "Show Vertical Asymptotes" button. Output3: The Show Trace and Clear Trace objects should no longer be greyed out. |
Test17_functionflyer: Grid Lines | Input: Toggle through the radio buttons of "No Grid" "Light Grid Lines" and "Dark Grid Lines". Output: The correct darkness for the grid lines should appear on the graph paper. |
Test18_functionflyer: Show and Clear Trace | Input1: 1.0*x^2+1*x+0. Set Function. Check "Show Trace". Output1: Graph of the function with 3 sliders. The "Set Window", grid lines, and "Show Vertical Asymptotes" check box should all be greyed-out. Move the sliders. Light grey lines should appear where the function was the step prior to moving the slider. Input2: Click "Clear Trace" Output2: Grey trace lines should disappear. Input3: Move sliders around more. Uncheck "Show Trace". Output3: The trace lines should disappear and all elements that were deactivated should be reactivated. |
Test19_functionflyer: Zoom Out | Input1: 0.0001*x^2. Set Function. Output1: Function appears as a flat line because of the scale. Click the "zoom out" button (magnifying glass with the minus sign) 10 times so that a parabola appears. The resulting x and y ranges should double. Restore window size to default setting before going on to next test. |
Test20_functionflyer: Zoom In | Input1: 10000*x^2. Set Function. Output1: Function doesn't appear because the parabola is too steep. Click the "zoom in" button (magnifying glass with a + sign). The button should appear depressed by shading the background with grey. Draw a tall thin rectangle around the y-axis while the button is pressed. This should zoom into the area of the rectangle. Make note of the x and y ranges as you draw the rectangle and ensure that the resulting rectangle zooms to these values. The button should appear unpressed after drawing the rectangle. Repeat this process (i.e. continue zooming) 10 times. |
Test21_functionflyer: Pan | Input: 0.001*x^2. Set Function. Output: Function appears somewhat flat because of range. Click the "pan" button (magnifying glass with double arrows). The button should appear depressed while clicking and dragging across the screen. As soon as you let up on the mouse button after the click and drag, the button should appear unpressed. |
Test22_functionflyer: Show Tabular Data | Input: 1*cos(1*x+0)+0. Set function. Click "Show Tabular Data" button.
Output1: The button itself should toggle to "Hide Tabular Data". A table of values beginning with x=-10
and f(x)=-0.84. Table should increment with x by
+0.4 step size and continue until 10.0 with resulting f(x) values:
x f(x) Input2: In the Function Data window, set min=0, max=1.57 (~pi/2) and step=.196 (~pi/16).
Output2:
x f(x) Input3: Without closing the Function Data Window from the Input2 case, try manipulating the sliders. Output3: An error message should appear that says you must close the Function Data window before changing the function. Input4: Close the Function Data Window from above from the Input2 case above. Move the sliders to the function 7*cos(1*x+0)+4. Press the Show Tabular Data button.
Output4: The following table should appear: |
Test23_functionflyer: Reset Sliders | Input: 1*cos(1*x+0)+0 and Set Function. Move sliders around. Click "Reset Sliders." Output: Sliders shouod return to original values. |
Test24_functionflyer: Slider Limits | Input1: 10000*x Set Function. Click "Slider Limits" Output1: A pop-up window should appear with a purple line and read min=-90000, max=110000, step=10000. Input2: Change the step size to 10 and click "set." Output2: An error message should appear that says there can be at most 100 steps to a slider and gives the user the option to change min, change max, or change step. Click the "change step" button which should change the step text box to 2000.0 Click the set button which should close the window. The purple slider should now increment by steps of 2000. Input3: Click the "slider limits" button again and change the min to -100000. Once again the error message should appear. Click the "change minimum" button and the min text box should return to a value of -90000. Change the max to 120000 and repeat the process with the resulting error window by changing the max. Click set to close the window. Input4: Click "Change Function" and enter 0.000001*x+0.00001. Set Function. Output4: 1e-6*x+0.00001 and graph of function. Click "Slider Limits." There should be two rows, one labeled with a purple line and the other with a green line. Min for purple should read -9.0e-6, max=1.1e-5 and step=1.0e-6. The one labeled with a green line should read min=-9.0e-5, max=1.1e-4 and step 1.0e-5. Change the green step to 0.1 and click set. An error message should appear saying the step cannot be greater than the max minus the min. Input5: Change the min for the green slider to min=-10, max=10 and step=1 and set. The function should change to 1e-6*x+0 and the green slider should now increment by 1 from min of -10 to max of 10. |
Test25_functionflyer: General: |
Input1: Entering 0.005, set Function Output1: Verify that 0.005 is displayed. Input2: Enter the following functions.
Function: |
Test25_functionflyer: Specific Function: |
Input: Input (2+3*x)^2. Click Set Function. Click show Tabular Data Output: A plot of the graph and the following data in the tabular data window: x f(x) -10.00 784.00 -9.6 718.24 -9.2 655.36 -8.8 595.36 -8.4 538.24 -8.00 484.00 -7.6 432.64 -7.2 384.16 -6.8 338.56 -6.4 295.84 -6.00 256.00 -5.6 219.04 -5.2 184.96 -4.8 153.76 -4.4 125.44 -4.00 100.00 -3.6 77.44 -3.2 57.76 -2.8 40.96 -2.4 27.04 -2.00 16.00 -1.6 7.84 -1.2 2.56 -0.8 0.16 -0.4 0.64 0.00 4.00 0.4 10.24 0.8 19.36 1.2 31.36 1.6 46.24 2.00 64.00 2.4 84.64 2.8 108.16 3.2 134.56 3.6 163.84 4.00 196.00 4.4 231.04 4.8 268.96 5.2 309.76 5.6 353.44 6.00 400.00 6.4 449.44 6.8 501.76 7.2 556.96 7.6 615.04 8.00 676.00 8.4 739.84 8.8 806.56 9.2 876.16 9.6 948.64 10.00 1024.00 |
Data Flyer Specific Test Cases: |
|
Test1_flydata: Sum of Squares |
Input1: Initial function F(x)=x. Entering the following values in the Data window: 4 9 -2 -8 6,-4 Click the Plot Data button.
Output1: Verify that the correct data points are displayed on the graph.
Input2: With the data points still on the graph, click on the Show Squares
checkbox.
Input3: Click on the Show Deviations button. Output4: Verify that window closes. Repeat by clicking the Show Deviations button again and closing it with the red window button. Input5: Click and uncheck the Show Squares checkbox. Output5: Verify that the squares are removed from the graph. Input6: Click the Clear Data button. Output6: Verify that the data is removed from the Data window and the points are removed from the graph. |
Test2_flydata: Auto Window |
Input: Enter a single data point, (10,0) in the Data window. Click on the Auto window checkbox. Output: Verify that the graph focuses in on the data point. |