/SER216-team13-connect4

Connect 4

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Software Enterprise II - Course Project

Software Maintenance, Testing & Quality

Instructions: Through this project you will learn about Software Testing (various tools, creating software test plan, performing software testing) and Software Maintenance activities of the software development lifecycle. You will work in groups of 4. Your project submissions should be made via Blackboard by the specified deadline. There are multiple deliverables for the project. Each team will be provided one existing software product (an open-source product, a research software tool, a software game, etc.) that you will work on for Software Testing and Maintenance.

0. Setup and Execute the project

  • Download the source code provided on Blackboard, create an Eclipse project and build it
  • Understand how the software works
  • Use the software as an end-user

Deliverables : none

Due Date : Feb 2 7 (by end of day)

1. Software Testing tools survey

A consolidated list of open source software testing tools is available at http://www.opensourcetesting.org/. Each team is required to select 4 testing tools from this list provided, each from a different category of tools (such as Unit Testing, Functional Testing, Defect tracking, Performance, etc.). A tool not listed here may also be selected upon approval from the instructor. Each team will provide a written report with description of the 4 tools via Blackboard. In addition to the report, the team has to select 1 tool out of the 4 to present to the class. For each tool, you must download the tool and learn to use it. Your written report and presentation must answer the questions given below.

  1. Who (company or individual) developed the tool? What is the cost to the tool user? How do you acquire it?
  2. What testing purpose does the tool serve? (i.e, what problem does it attempt to solve? How does it improve productivity?)
  3. What programming language(s) does the tool support, if any?
  4. In what phase of software testing is the tool useful?
  5. What do you need to do in order to use the tool?
a. How do you install it?
b. How do you configure it?
c. How do you use it?
  1. What are the strengths and limitations of the tool?
  2. Demonstration of the tool (for report via appropriate screenshots)

Deliverables :

  • Written Report on four selected tools (submit via Blackboard)
  • Presentation to class on one out of the 4 tools (in class)

Due Date (Written report): Mar 15 (by end of day via Blackboard)

Presentations in class: Mar 20 – Mar 29

2. Software Design: Understand the code

  • Analyze the code
  • Create use case diagram and class diagram for the existing source code. Capture all classes in the code base. Create an Activity diagram and State chart where needed to model dynamic behavior of the system. Use a UML tool of your choice to create these diagrams.

Deliverables : UML Diagrams as picture files (via Blackboard)

Due Date : Mar 22 (by end of the day)

3. Create a Software Test Plan

Create a Software test plan that includes a detailed description of the testing activities (e.g., individual test cases), a description of the coverage of the testing effort, etc. A template will be provided in class.

Deliverables : Submit Test Plan document (via Blackboard)

Due Date : Apr 5 (by end of day)

4. Perform Testing as per your plan Perform testing and create a list of bugs and possible enhancements. From this list, identify a few bugs and enhancements that you can fix.

Deliverables : List of Bugs and Enhancements (via Blackboard)

Due Date : Apr 1 7 (by end of day)

5. Project presentation

Each team will present their project to the class. Your presentations must answer the following questions:

  1. What is the software product your are working on? What does it do? Who is using it?
  2. What are the goals of your testing efforts?
  3. What is your test plan?
  4. What were the results of your testing? What coverage did you achieve?
  5. What did you discover?
  6. What are your conclusions?
  7. How would you improve your process in the future?

Deliverables : In-class presentation - Your presentation should be about 15 minutes, and must answer the above questions. You should provide a brief, convincing demonstration of the tool.

Due Date : Apr 1 7 - 26 (in class)

6. Implementation of Bug fixes and enhancements Implement bug fixes and enhancements that you have identified in the previous step and test the software thoroughly.

Deliverables :

  • Compressed folder that contains the complete source code
  • Executable jar file
  • Summary of bug-fixes (status of bug-fixes, if an error is not fixed then explain why)
  • Individual Contribution report
  • Peer-review survey

Due Date : Apr 30 (by end of day)

Grading Rubric: Deliverable - UML Diagrams: 40 points Deliverable - Testing tool reports: 4 0 points Deliverable - Testing tool presentation: 4 0 points Deliverable - Software Test plan: 70 points Deliverable - List of Bugs/Enhancements: 40 points Deliverable - Implementation of fixes: 40 points Deliverable - Presentation: 40 points Individual Contribution report and Peer review: 40 points Total: 350 points