CSC/ECE 517 Fall 2016/E1666. Test team functionality

From Expertiza_Wiki
Revision as of 20:14, 27 October 2016 by Arai (talk | contribs) (Created page with "= Feature Tests for Team Functionality = === Background === Expertiza is an open source web based peer review system developed and maintained by students and faculty at North Ca...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Feature Tests for Team Functionality

Background

Expertiza is an open source web based peer review system developed and maintained by students and faculty at North Carolina State University. It enables students enrolled in a particular course to form online teams and complete assignments. A typical cycle of an assignment involves the following major steps:

  • A pool of topics is made available to the students to choose from and form team to complete it within a pre-set deadline.
  • After the development phase is finished, begins the peer review phase. Here students can review work of other teams, on the basis of some predefined factors and provide their feedback.
  • Members of a team can also provide feedback for the respective review done for their work.
  • In some projects there is a second development phase which allows team members to improve upon their work keeping past reviews in consideration.
  • After this second development cycle begins another review phase, where original reviewers can re-review the updated work and provide critical feedback.

Purpose

The purpose of this task is to write functional tests for team functionality. Once an assignment is out, a student can select this assignment and others can join in the team. To test this functionality we wrote functional tests for the various scenarios. One such scenario is :

  • Once the assignment is out and a student selects it, he/she can send out invites to other students to join the team.
  • Invited students can accept the invitation and join the team.

Functional Tests

Functional tests ensure that the functionalities of a software system are working as expected. To write our functional tests, we used the Capybara gem available for Ruby. Capybara gem allows a user to test their web application through simulations.

Functional Tests Implementation

Running the tests

The tests can be run on the terminal using the command:

 rspec specfile.rb

Whether the test fails or succeeds, allows us to determine which parts of the system are functioning properly.

External Links

  1. link for forked repository
  2. Github link for original repository
  3. Github link for Capybara