Web Presence Working Group: Testing Guide: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
= To Testers... =
= To Testers... =


Please read the next section (as well as "Things to Remember" at the end) and select features that you feel that you can test. Once you have tested a feature, edit this page and write your name next to the "Test by:".
Please read the next section (as well as "Things to Remember" at the end) and select features that you feel that you can test. Once you have tested a feature, edit this page and write your name next to "Test by:". As much as possible, please select things to test that have not been tested as much as others.


Keep in mind that the main two user-side features for this release are IEA support and a unified way of creating ontology graphics, so most of the testing energy should be directed towards those.  
Keep in mind that the main user-side features for this release are: new term details pages with a new way of browsing within those pages and lucene-based searching. Most of the testing energy should be directed towards these.  


= Testable new features =
= Testable new features =
Line 13: Line 13:
URL: N/A
URL: N/A


Tested by: ???
Tested by: Ben/Seth


== AmiGO software page ==
== Refresh/clean-up script ==


Check that it contains the proper links to all features not included in the menu bar or welcome page.
Using refresh.pl in all of its new forms. Successfully: update amigo to a new database (standard), update with a new GO_xrf.abbs from CVS (standard), keep the cruft down (-r).


URL: ...
URL: N/A


Tested by: ???
Tested by: ???


== IEAs ==
== AmiGO software page ==


=== Term Enrichment ===
Check that it contains the proper links to all features not included in the menu bar or welcome page.
 
Check and make sure that term enrichment is properly using the IEAs.
 
URL: ...
 
Tested by: ???


=== General Check ===
URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/amigo
 
Check and make sure that the new database build is working as expected. While we were trying to get it to work we had issues with gene product count, species, and the graph. While these seem to be working now, browse around and make sure that everything is in working order.
 
URL: ...


Tested by: ???
Tested by: ???


== Visualize ==
== New Term Details Page ==


We need to test the unified graphing backend.
=== Functional ===


=== Term Enrichment ===
Check and make sure that the new term details pages function as expected. You will have to find these either through searching or browsing.


Make sure that the visualization feature of TE works properly.
Example URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/term-details.cgi?term=GO:0022008
 
URL: ...


Tested by: ???
Tested by: ???


=== Browser ===
=== Containment ===


When browsing the ontology, check to make sure that the "Graphical View" link works as expected.
The old term details code was not removed from AmiGO and is actually still used in some cases (such as slims/subsets). Check and make sure that it is not possible to view GO terms in the old context.


URL: ...
Note that the auto-tester has already covered a large number of the easily reachable links. Since the auto-tester does not yet work over forms, that might be a good place to look for problems.


Tested by: ???
URL: N/A
 
=== Homolset ===
 
Make sure that the homolset graphs appear as expected.
 
URL: ...


Tested by: ???
Tested by: ???


=== Standalone Client ===
== Live Search ==


Make sure that standard input and advanced input give the proper results with both SVG and PNG.
Check and make sure that the live search page functions as expected.


URL: ...
URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/amigo?mode=live_search


Tested by: ???
Tested by: ???
Line 81: Line 63:
Beyond checking functionality and correctness of the results, here are some other things to keep in mind while testing:
Beyond checking functionality and correctness of the results, here are some other things to keep in mind while testing:


* Do things work in other web browsers--sometimes different browsers behave and/or display differently
** If possible, check things with Firefox, Safari, and Internet Explorer
* Please check for consistency in terminology (i.e. "ref genome" vs. "homolog" vs. "equivalog").
* Please check for consistency in terminology (i.e. "ref genome" vs. "homolog" vs. "equivalog").
* Travel paths that are less travelled and use inputs that you might not normally use
* Travel paths that are less travelled and use inputs that you might not normally use
* Do things quicker/more carelessly than usual
* Do things more quickly or carelessly than usual
* Opening multiple sessions or windows and juggling between them
* Opening multiple sessions or windows and juggling between them
* Clicking multiple controls and backtracking
* Clicking multiple controls and backtracking
* How do things work in other web browsers; is it accessible


Another thing to try is [http://en.wikipedia.org/wiki/Fuzz_testing fuzz testing]. Basically trying random inputs in an effort to break the program. This would be random things in the URL and inputs. Usually this is automated, but we probably won't have something like that until more of the new AmiGO framework is written.
Another thing to try is [http://en.wikipedia.org/wiki/Fuzz_testing fuzz testing]. Basically trying random inputs in an effort to break the program. This would be random things in the URL and inputs. Usually this is automated, but we probably won't have something like that until more of the new AmiGO framework is written.


Along a similar vein is actively trying to break the system given that some of the internal structure is known. This can include things like entering MySQL statements (the bottom layer of AmiGO) in order to try and trick AmiGO into executing an inappropriate statement. Errors found along these lines are very important for the developers to fix quickly.
Along a similar vein is actively trying to break the system given that some of the internal structure is known. This can include things like entering MySQL statements (the bottom layer of AmiGO) in order to try and trick AmiGO into executing an inappropriate statement. Errors found along these lines are very important for the developers to fix quickly as they can allow unauthorized access to the underlying system.


Finally, there is load testing; where you might try and overload the system. This probably won't be very useful or informative while running on the toy server.
Finally, there is load testing; where you might try and overload the system. This probably won't be very useful or informative while running on the toy server.

Latest revision as of 14:32, 29 October 2010

To Testers...

Please read the next section (as well as "Things to Remember" at the end) and select features that you feel that you can test. Once you have tested a feature, edit this page and write your name next to "Test by:". As much as possible, please select things to test that have not been tested as much as others.

Keep in mind that the main user-side features for this release are: new term details pages with a new way of browsing within those pages and lucene-based searching. Most of the testing energy should be directed towards these.

Testable new features

Installation scripts

Basically, successfully install AmiGO on a machine and check to see if the installation script lies. This would mean checking with both version.pl and simulate.pl.

URL: N/A

Tested by: Ben/Seth

Refresh/clean-up script

Using refresh.pl in all of its new forms. Successfully: update amigo to a new database (standard), update with a new GO_xrf.abbs from CVS (standard), keep the cruft down (-r).

URL: N/A

Tested by: ???

AmiGO software page

Check that it contains the proper links to all features not included in the menu bar or welcome page.

URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/amigo

Tested by: ???

New Term Details Page

Functional

Check and make sure that the new term details pages function as expected. You will have to find these either through searching or browsing.

Example URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/term-details.cgi?term=GO:0022008

Tested by: ???

Containment

The old term details code was not removed from AmiGO and is actually still used in some cases (such as slims/subsets). Check and make sure that it is not possible to view GO terms in the old context.

Note that the auto-tester has already covered a large number of the easily reachable links. Since the auto-tester does not yet work over forms, that might be a good place to look for problems.

URL: N/A

Tested by: ???

Live Search

Check and make sure that the live search page functions as expected.

URL: http://goweb-dev.stanford.edu/cgi-bin/amigo/amigo?mode=live_search

Tested by: ???

Things to Remember

Beyond checking functionality and correctness of the results, here are some other things to keep in mind while testing:

  • Do things work in other web browsers--sometimes different browsers behave and/or display differently
    • If possible, check things with Firefox, Safari, and Internet Explorer
  • Please check for consistency in terminology (i.e. "ref genome" vs. "homolog" vs. "equivalog").
  • Travel paths that are less travelled and use inputs that you might not normally use
  • Do things more quickly or carelessly than usual
  • Opening multiple sessions or windows and juggling between them
  • Clicking multiple controls and backtracking

Another thing to try is fuzz testing. Basically trying random inputs in an effort to break the program. This would be random things in the URL and inputs. Usually this is automated, but we probably won't have something like that until more of the new AmiGO framework is written.

Along a similar vein is actively trying to break the system given that some of the internal structure is known. This can include things like entering MySQL statements (the bottom layer of AmiGO) in order to try and trick AmiGO into executing an inappropriate statement. Errors found along these lines are very important for the developers to fix quickly as they can allow unauthorized access to the underlying system.

Finally, there is load testing; where you might try and overload the system. This probably won't be very useful or informative while running on the toy server.