Skip to content

Deliverable #4

aaron-monahan edited this page Nov 12, 2015 · 8 revisions

Deliverable #4

https://github.com/CSCI-362-03-2015/Team6

Currently our testing framework does three things: tests the source Python code, tests the web interface using Selenium, and tests the web interface and database interaction using the Robot Framework. Reporting is limited now since it is separated into three reporting documents.

Python source code testing for the project is being done using the traditional method. We are using 15 text files containing the class name, method name, input parameters, oracle name, and driver name to provide input to a main test case runner. The runner looks into the testCases folder and systematically runs a test for each .txt file contained within it. During each test the runner checks the input parameter against the output parameter contained in the oracle. If they are correct, a file is updated with a pass or fail along with the test case number and description of the test.

Robot Framework testing is done a little different than the Python source code testing. There are five test cases that the main runner will see. However, the runner will pickup on "robot" contained in the driver line. When this happens, another script is called, robot.sh, that handles the testing of the Robot Framework test cases. The robot driver then looks into the testCases/tests folder for test case files. If there are files there, it will move them to the /home/web2py/applications/eden/tests/implementation/testsuits/robot_tests so that they can be run by the framework. Each test file contains commands for running each test as well as checking for the correct inputs and outputs. Currently there are no oracles for these tests since the Robot Framework handles this. After each test is done, an HTML doc is update with the result. Our next step is to compile the Python, Selenium, and Robot Framework results into one HTML doc.

Similar to the Robot Framework, we have created five test cases using the Selenium test framework. We are driving the tests using a script that pulls python test files from testCases/tests. These python files hold the actual data that the driver will run on the website. Selenium will simulate the test on the website by putting data into fields and checking output on the web page.

Clone this wiki locally