Skip to content

aasthaaaaaaa/Milestonework-main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Review Assignment Due Date

Project

Perform control-flow testing on a fault-seeded Java program, Printtokens.java.

project slides | project rubric

Goals

  • Identify and fix faults through testing.
  • Unit testing: maximize edge coverage for all non-main methods.
  • End-to-end testing: maximize edge coverage for all methods through the main method.

Project Breakdown

1 Test Case Preparation

  • Draw control flow graphs (Video).
  • List test paths in the graphs (Video).
  • Derive test cases from test paths (Oracle: provides the expected outputs for the given inputs).

2 Testing

  • Write test methods based on test cases.
  • Execute test methods and check execution status.
  • Fix faults when failures occur or after executing all test methods.
  • Update test methods (and test cases) and repeat the process if necessary.

3 Reports

  • A list of identified faults and corrections.
  • One HTML coverage report for unit testing.
  • One HTML coverage report for end-to-end testing.

Submission

  • Check all the deliverables in the project slides.
  • Put all the deliverables in Branch main in a folder "deliverables".
  • Commit the changes before the deadline.

Testing Support

Requirements

Note: Highly recommend to use Eclipse. However, you can use other IDEs.


Set up the Project Locally (Windows)

1 Launch a terminal.

2 Clone your GitHub project repository locally using the Terminal (with the main branch fetched).

  • Navigate to the directory for your project in the Terminal.

  • Prepare for the clone command.

    • GitHub_project_name: Name of your project GitHub repository.

    • access_token: Personal access token of your GitHub account.

    • Clone command:

    git clone https://<access_token>@github.com/cse4321/<GitHub_project_name>.git
    • An alternative to get clone command:
      An alternative to get clone command

3 Check out the other branches to explore how to write test methods with command "git checkout branch-name".

  • eclipse-eg-tests: the branch containing an example program and test files based on Eclipse IDE.
  • vsc-maven-eg-tests: the branch containing an example program and test files based on VS Code.

4 Create your own branch to write your tests with your preferred IDE.


Commit and Push Changes to GitHub Repository in the Terminal

1 Set up user info (if not configured).

git config user.name "your GitHub account name"
git config user.email "your email" 

2 Stage all modified files.

git add .

3 Commit the changes.

git commit -m "commit message"

4 Push the changes to the main branch in the project repository in GitHub.

git push origin main

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages