<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bjhaver</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bjhaver"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Bjhaver"/>
	<updated>2026-11-04T14:25:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98816</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98816"/>
		<updated>2015-11-07T15:58:52Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in as a student&lt;br /&gt;
* Choose a available topic&lt;br /&gt;
* Invite one or more students as teammates&lt;br /&gt;
* Students who get the invition could accept or denial&lt;br /&gt;
* After accept the invitation, the team should form and all teammates should have same topic&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure a student is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure a student is able to choose a topic from the assignment.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure a student is able to form a team by inviting other students enrolled in this course. &lt;br /&gt;
    S1. If the invitation is sent to a student who isn&#039;t enrolled in the class, it should not be allowed.&lt;br /&gt;
    S2. If the invitation is sent to a student who is enrolled in the class, it should be allowed.&lt;br /&gt;
 &lt;br /&gt;
T4. Ensure an invitee is able to accept or reject.&lt;br /&gt;
    &lt;br /&gt;
T5. Ensure all teammates have the same topic.&lt;br /&gt;
    S1. If a student accepts the invitation and the student have a topic before, the topic should be dropped.&lt;br /&gt;
    S2. If a student accepts the invitation and did not have the topic before, the student should have the same topic as other teammates who accepted the invitation.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98815</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98815"/>
		<updated>2015-11-07T15:57:49Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in as a student&lt;br /&gt;
* Choose a available topic&lt;br /&gt;
* Invite one or more students as teammates&lt;br /&gt;
* Students who get the invition could accept or denial&lt;br /&gt;
* After accept the invitation, the team should form and all teammates should have same topic&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure a student is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure a student could choose a topic from the assignment.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure a student can form a team by inviting other students enrolled in this course. &lt;br /&gt;
    S1. If the invitation is sent to a student who isn&#039;t enrolled in the class, it should not be allowed.&lt;br /&gt;
    S2. If the invitation is sent to a student who is enrolled in the class, it should be allowed.&lt;br /&gt;
 &lt;br /&gt;
T4. Ensure an invitee can accept or reject.&lt;br /&gt;
    &lt;br /&gt;
T5. Ensure all teammates have the same topic.&lt;br /&gt;
    S1. If a student accepts the invitation and the student have a topic before, the topic should be dropped.&lt;br /&gt;
    S2. If a student accepts the invitation and did not have the topic before, the student should have the same topic as other teammates who accepted the invitation.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98814</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98814"/>
		<updated>2015-11-07T15:57:04Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in as a student&lt;br /&gt;
* Choose a available topic&lt;br /&gt;
* Invite one or more students as teammates&lt;br /&gt;
* Students who get the invition could accept or denial&lt;br /&gt;
* After accept the invitation, the team should form and all teammates should have same topic&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure a student is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure a student could choose a topic from the assignment.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure a student can form a team by inviting other students enrolled in this course. &lt;br /&gt;
    S1. If the invitation is sent to a student who isn&#039;t enrolled in the class, it should not be allowed.&lt;br /&gt;
    S2. If the invitation is sent to a student who is enrolled in the class, it should be allowed.&lt;br /&gt;
 &lt;br /&gt;
T4. Ensure an invitee can accept or reject.&lt;br /&gt;
    &lt;br /&gt;
T5. Ensure all teammates have the same topic.&lt;br /&gt;
    S1. If a student accepts the invitation and the student have a topic before, the topic should be dropped.&lt;br /&gt;
    S2. If a student accepts the invitation and did not have the topic before, the student should have same topic as other teammates who accepted the invitation.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98812</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98812"/>
		<updated>2015-11-07T15:51:40Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: /* Testing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in as a student&lt;br /&gt;
* Choose a available topic&lt;br /&gt;
* Invite one or more students as teammates&lt;br /&gt;
* Students who get the invition could accept or denial&lt;br /&gt;
* After accept the invitation, the team should form and all teammates should have same topic&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure a student is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure a student could choose a topic from the assignment.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure a student could invite other students who are also enroll in this course. &lt;br /&gt;
    S1. If the invitation is sent to student who isn&#039;t enrolled in the class, the invitation should not be sent&lt;br /&gt;
    S2. If the invitation is sent to student who enroll in the class, the invitation should be sent&lt;br /&gt;
 &lt;br /&gt;
T4. Ensure an student who are invite could accept or denial.&lt;br /&gt;
    &lt;br /&gt;
T5. Ensure all teammates should have same topic.&lt;br /&gt;
    S1. If student accept the invitation and the student have a topic before, the topic should be dropped&lt;br /&gt;
    S2. If student accept the invitation and student don&#039;t have topic before, the student should have same topic as other teammates.&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98380</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98380"/>
		<updated>2015-11-06T17:29:11Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98377</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98377"/>
		<updated>2015-11-06T17:28:34Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in&lt;br /&gt;
* Create a course&lt;br /&gt;
* View scores for an assignment&lt;br /&gt;
* View review scores (“review report”)&lt;br /&gt;
* View author-feedback scores&lt;br /&gt;
* Create an assignment&lt;br /&gt;
** 2 rounds of review&lt;br /&gt;
** Has no topics / has topics&lt;br /&gt;
** Staggered-deadline assignments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with RSpec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of an integration test is to verify the functionality of interface between integrated parts, also we can know the performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98374</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98374"/>
		<updated>2015-11-06T17:20:34Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to perform integration testing for team creation. The testing needs to be done with the help of RSpec and Capybara. The UI procedures need to be tested are:&lt;br /&gt;
* Log in&lt;br /&gt;
* Create a course&lt;br /&gt;
* View scores for an assignment&lt;br /&gt;
* View review scores (“review report”)&lt;br /&gt;
* View author-feedback scores&lt;br /&gt;
* Create an assignment&lt;br /&gt;
** 2 rounds of review&lt;br /&gt;
** Has no topics / has topics&lt;br /&gt;
** Staggered-deadline assignments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with rspec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of integration test is to verify the functionality of interface between interacted parts, also we can know performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure an instructor is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure an instuctor is able to create a course.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure that the score of a certain assignment can be viewed.&lt;br /&gt;
&lt;br /&gt;
T4. Ensure to view the score of a review.&lt;br /&gt;
&lt;br /&gt;
T5. Ensure to view the score of an author feedback.&lt;br /&gt;
&lt;br /&gt;
T6. Ensure to create an assignment which has two rounds of review, has a topic or does not has a topic, and has a staggered-deadline.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98373</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98373"/>
		<updated>2015-11-06T17:17:12Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &#039;&#039;&#039;Purpose&#039;&#039;&#039; ==&lt;br /&gt;
This project is to create integration tests for the instructor interface of Expertiza. The UI procedures need to be tested are:&lt;br /&gt;
* Log in&lt;br /&gt;
* Create a course&lt;br /&gt;
* View scores for an assignment&lt;br /&gt;
* View review scores (“review report”)&lt;br /&gt;
* View author-feedback scores&lt;br /&gt;
* Create an assignment&lt;br /&gt;
** 2 rounds of review&lt;br /&gt;
** Has no topics / has topics&lt;br /&gt;
** Staggered-deadline assignments&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Background&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
=== RSpec ===&lt;br /&gt;
Rspec &amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/RSpec RSpec Wiki Page]&amp;lt;/ref&amp;gt; is a Behavior Driven Development (BDD) framework for Ruby. It is composed of 4 main parts &amp;lt;ref&amp;gt;[http://rspec.info/ RSpec Official Website]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
; rspec-core&lt;br /&gt;
: The spec runner, providing a rich command line program, flexible and customizable reporting, and an API to organize your code examples. &lt;br /&gt;
&lt;br /&gt;
An example of running rspec file in terminal: &amp;lt;code&amp;gt;rspec spec/model_spec.rb &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; rspec-expectations&lt;br /&gt;
: Provides a readable API to express expected outcomes of a code example.&lt;br /&gt;
&lt;br /&gt;
; rspec-mocks&lt;br /&gt;
: Test double framework, providing multiple types of fake objects to allow you to tightly control the environment in which your specs run.&lt;br /&gt;
&lt;br /&gt;
; rspec-rails&lt;br /&gt;
: Supports using RSpec to test Ruby on Rails applications in place of Rails&#039; built-in test framework.&lt;br /&gt;
&lt;br /&gt;
=== Capybara ===&lt;br /&gt;
Capybara is a web-based automation test tool that simulates a real user to follow the scenarios of user stories.&amp;lt;ref&amp;gt;[https://github.com/jnicklas/capybara Capybara on GitHub]&amp;lt;/ref&amp;gt; It could interact with app to receive pages, parse the HTML and submit forms as a user would.&amp;lt;ref&amp;gt;[https://www.youtube.com/watch?v=p7ZcZNuZ0aw Introducing cucumber &amp;amp; capybara on YouTube]&amp;lt;/ref&amp;gt; Used with RSpec and Ruby on Rails (version 1.9 or later), capybara makes it easier to write integration tests. &amp;lt;ref&amp;gt;[http://techiferous.com/2010/04/using-capybara-in-rails-3/ Using Capybara in Rails 3]&amp;lt;/ref&amp;gt; It is used on the top of an underlying web-based driver and offers a user-friendly DSL (Domain Specific Language) to describe actions executed by the underlying web driver. Such as &amp;lt;code&amp;gt;rack::test&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;selenium-webdriver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;capybara-webkit&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[http://www.sitepoint.com/basics-capybara-improving-tests/ The Basics of Capybara and Improving Your Tests]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this project, we use capybara with rspec by adding the following line:&lt;br /&gt;
&amp;lt;code&amp;gt; require &#039;capybara/rspec&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
Then put capybara specs in &amp;lt;code&amp;gt;spec/features&amp;lt;/code&amp;gt;.&lt;br /&gt;
=== Integration test ===&lt;br /&gt;
Integration test is a software testing definition that we combine modules then test them as one group. It is an important application testing way. It is always adapted after unit testing, we need to combine different units to test the functionalities and verify that the aggregated group could deliver its output properly. The purpose of integration test is to verify the functionality of interface between interacted parts, also we can know performance of the subsystems. The integration testing has two types, big bang top down and bottom up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Big Bang&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In this type, since all the application is combined with all major usage modules. So we test them under usage model testing, which means we can simulate the users&#039; acts under testing environment. When doing this, we can test if all the expected components is got when we actually do the same way under production environment. It is an effective way to test the functionalities and got better coverage since we are creating the realistic scenarios. It will make sure the application can have proper output when a user does the same input.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Top down and Bottom up&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Top down and bottom up is another type of integration testing. For top down, we test the top integrated module firstly and test the ranch of it again and again, then we can test all the related modules finally. For Bottom up way, we test the most basic module at first and check the module that containing this basic module. The advantage of it is that we can find the bug easier because we will not miss any branch that we use. However, it is time consuming in this way.&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Integration_testing/ Integration testing on Wikipedia]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Testing&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Based on the project requirements, the testing can be divided into the following parts:&lt;br /&gt;
&lt;br /&gt;
T1. Ensure an instructor is able to login to the system.&lt;br /&gt;
&lt;br /&gt;
T2. Ensure an instuctor is able to create a course.&lt;br /&gt;
&lt;br /&gt;
T3. Ensure that the score of a certain assignment can be viewed.&lt;br /&gt;
&lt;br /&gt;
T4. Ensure to view the score of a review.&lt;br /&gt;
&lt;br /&gt;
T5. Ensure to view the score of an author feedback.&lt;br /&gt;
&lt;br /&gt;
T6. Ensure to create an assignment which has two rounds of review, has a topic or does not has a topic, and has a staggered-deadline.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
&amp;lt;references&amp;gt;&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98371</id>
		<title>CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015_E1590_Integration_testing_for_Team_creation&amp;diff=98371"/>
		<updated>2015-11-06T17:07:47Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: Created page with &amp;quot;Intro  == Assignment ==  === Description === This project aims at developing an email based anonymous session between author and a reviewer so that reviewers can ask questions to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Intro&lt;br /&gt;
&lt;br /&gt;
== Assignment ==&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
This project aims at developing an email based anonymous session between author and a reviewer so that reviewers can ask questions to the authors for any doubts related to the assignments during peer reviewing.&lt;br /&gt;
&lt;br /&gt;
=== Purpose ===&lt;br /&gt;
During reviews, many times reviewers will be having questions about the submitted material and if it&#039;s a blocker there is no way that the reviewer can progress further with the review.  As a result, reviewers will end up submitting the empty or incomplete review.&lt;br /&gt;
&lt;br /&gt;
=== Scope ===&lt;br /&gt;
This project is limited to an email based conversation for asking questions and answers. The reviewers would ask questions related to assignment submission doubts to which authors can respond. All this would be taken care as email responses using a link provided in the email. This project does not cater to any live interactive session with spontaneous back-to-back questions and responses.&lt;br /&gt;
&lt;br /&gt;
Following tasks would be incorporated in the project:&lt;br /&gt;
* Provide a ‘TextArea’ input field on review forms, where any reviewer can type in their questions.&lt;br /&gt;
* Create a new button ‘Ask for Quick Help’ on the review forms.&lt;br /&gt;
* An email would be send to the author with the link where he can respond to the questions asked by the reviewers for their submitted work.&lt;br /&gt;
* Reviewers would be notified by an email when authors respond to the the questions.&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
=== Discussion of Resolution ===&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
=== Mock-Ups ===&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
=== Design Patterns ===&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
=== Use Cases ===&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
=== Proposed Tests ===&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum&lt;br /&gt;
&lt;br /&gt;
== Suggestions for Future Improvements ==&lt;br /&gt;
&lt;br /&gt;
* This can be extended to a live interactive author-reviewer anonymous chat session inside the Expertiza reviews window.&lt;br /&gt;
* A purging script can be developed which will clear all the interaction records every semester.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015&amp;diff=98369</id>
		<title>CSC/ECE 517 Fall 2015</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2015&amp;diff=98369"/>
		<updated>2015-11-06T17:04:43Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: /* Final Project Design Document */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Writing Assignment 2==&lt;br /&gt;
*[[CSC/ECE_517_Fall_2015/sample_page]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2015/ossE1558BGJ]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss/M1502/AAAASS]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss/M1503/IntegrateXMLParser]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2015/ossE1568BZHXJS]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2015/ossE1572VGA]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2015/oss_E1573_sap]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1559 rrz]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1570 avr]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1556 CHM]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss M1504 JJD]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1562 APS]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss M1501 GSN]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss M1501 GSN]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1550 KMM]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1551 RGS]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1555 GMR]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1552 NFR]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1565 AAJ]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1561 WZL]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1553 AAJ]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1554 AAR]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1569 JNR]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1560 PSV]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss M1505 MSV]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1557 GXM]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1566 ARB]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1567 APT]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/oss E1574 BKS]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015/ossA1550RAN]]&lt;br /&gt;
&lt;br /&gt;
==Final Project Design Document==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015 E1577 MayYellowRoverJump]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015 E1586 AnonymousChatBetweenAuthorAndReviewer]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015 E1582 Create integration tests for the instructor interface using capybara and rspec]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015 E1576 Refactoring submitted content (hyperlinks and files)]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2015 E1590 Integration testing for Team creation]]&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=User:Bjhaver&amp;diff=98367</id>
		<title>User:Bjhaver</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=User:Bjhaver&amp;diff=98367"/>
		<updated>2015-11-06T16:55:22Z</updated>

		<summary type="html">&lt;p&gt;Bjhaver: E1590 Integration testing for Team creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;E1590 Integration testing for Team creation&lt;/div&gt;</summary>
		<author><name>Bjhaver</name></author>
	</entry>
</feed>