Test Plan - TripSage/TeamFormationAssistant GitHub Wiki

Test Plan:

We are pairing up with team #22 to compare with various metrics.
Team 22 set up instructions.
Team 22 repo.

We understand that different teams will have different preferences for their testing setup so we have a couple different suggestions:

  1. Docker
    Use a Dockerized image that will deploy the container in the cloud (AWS, Azure, etc). Each tester (lab rat) will receive a different URL.

  2. Single Deployment
    There will be only one URL used to deploy the code.

  3. Local Machine Set up
    Let the testers follow our documentation to set up the project on their local machine.


### There are two setups possible with any implementation:
1. The testers are divided into 2 groups, one being the member and other part being the manager. The "Member" group is given 5 to 6 scenarios which they use to enter the Sign Up page as members. The "Manager" groups is given 3 to 4 scenarios to enter their project details and requirements. Each group uses mock data to test the algorithm.

2. All the testers will act both as manager and member. Mock data is generated. They are given 2 to 3 scenarios as members and 1 to 2 scenarios as project managers. They will first sign up and then enter the project details.

### What to test for:
1. Installation

a. Compare time taken to install.

b. How any errors faced while installing?

c. How much prerequisite knowledge do you need to set up?

2. Algorithm

a. If you are a member, are you assigned a project that requires the same skills?

b. If you are a project manager, does the team that is assigned to you fulfill the requirements specified?

b. If you are a project manager, compare the two algorithms from Team 5 and Team 22, which algorithm outputs the most skilled employees?

b. Which algorithm takes the least time to run?


Note: These are suggestions for metrics to use, please add on to these questions for a successful project 3.

One hour time distribution for a tester (assuming each tester will play both member and project manager):


* Time: 0 - 10 mins --> Installation of our project.
--> Analyzers (2) take note of the issues observed during installation and help the tester with any issues.

* Time: 11 - 35 mins --> Test our project.
--> 5 minutes: tester enters data based on "Member" scenario.
--> 5 minutes: tester enters data based on "Manager" scenario.
--> 2 minutes: tester runs algorithm.
--> 10 minutes: check to see if the member and manager scenarios are fulfilled.
--> 2 minutes: store the team table. --> Analyzers: take note of any issues, measure time taken for each task, help member in case of any issues.

* Time 31 - 40 mins --> Installation of Team 22's project.
--> Analyzers (2) take note of the issues observed during installation and help the tester with any issues.

* Time 41 - 55 --> Test Team 22's project.
--> 10 minutes: tester enters member and manager data.
--> 2 minutes: tester runs algorithm.
--> 10 minutes: compare team tables for both projects to check whose algorithm satisfies the scenarios best.
--> Analyzers: take note of any issues, measure time taken for each task, help member in case of any issues.

* Time 55 - 60 mins --> Feedback Form

Examples of Scenarios:

Member: Your name is Jessica Smith. You are a Front-End Developer who is skilled in Javascript, HTML, and CSS. You have 2 years of experience in that role and want to earn more than your current salary of $30/hour. You want to find a project perfect for your skillset and where you can allot at most 30 hours per week.

Manager: Your project's name is 'TripSage' and you need to deliver it in a month's time from now. The goal is to create a smart itinerary maker using Django, Javascript, and AJAX. You estimate to need 3 people for the team, two backend developers and one frontend developer. You want to make sure that your front-end developer is highly experienced. Your maximum budget given to you by management is $40,000, but you hope to create a team for less than that amount.

⚠️ **GitHub.com Fallback** ⚠️