Skip to content
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.
/ bean_582_2024 Public archive

This is part of a class project for CptS 582 at Washington State University, Spring 2024.

Notifications You must be signed in to change notification settings

ejep520/bean_582_2024

Repository files navigation

Washington State University
CPT_S 582 Software Testing
Spring 2024

Team NameBean_582_2024_aptFinder
Repositoryhttps://github.com/ejep520/bean_582_2024
Project topic A java spring web application to enable users to locate an apartment available for rent.
Team membersNameEMailWSU IDContact
Bryan Lipscy[email protected]011860966Yes
Erik Jepsen[email protected]011868711
Antonio Barber[email protected]011551036
Nico Williams[email protected]011878369

Pre-requisites

Running this project

  • Install docker desktop
  • Start Docker Desktop
  • Install Java 17 liberica
  • Set environment variables (Windows)
    • Name: bean_mysql_admin_pass Value: MyPassword
  • Run: dockerbuild.bat <any password>
  • Run: docker compose up
  • Navigate to http://localhost:8080

##Configuring Java 17

Configure JDK: Since the project requires BellSoft Liberica JDK version 17 (IntelliJ IDEA)

Go to File > Project Structure. Under Project, ensure that the Project SDK is set to JDK 17. If not, click New... and navigate to the directory where JDK 17 is installed. Click Apply and then OK. Set Environment Variables (Windows): Set the environment variables as mentioned in the project README:

##Environment Variables Using System Settings: Right-click on "This PC" or "My Computer" and select "Properties". Click on "Advanced system settings" on the left-hand side. In the System Properties window, click on the "Environment Variables" button. In the "System Variables" section, click "New" to add a new environment variable. Enter the variable name as bean_mysql_admin_pass and the value as MyPassword. Click "OK" to save the changes.

Using Command Prompt: Open Command Prompt. To set a new environment variable for the current session, use the set command:

set bean_mysql_admin_pass=MyPassword To make the environment variable persist across sessions, use the setx command: setx bean_mysql_admin_pass MyPassword Note: setx command requires administrative privileges.

Introduction

This is a demostration project of an apartment finder web portal.

Test

Junit 5 and Selenium will be used for automated test cases.

  • Unit testing. Individual units of testable code must have a corresponding unit test. Mocking may be used appropriate
  • Functional tests
    • API Testing
      • APIs may be needed to facilitate testing. These must be such that authorization is required with a fixed token
    • Integration Testing
    • UI Integration Testing
      • UI Testing will be accomplished using Selenium to provide programmatic control of the UI to simulate the end user's behaviors.
      • UI Test scripts should not be one monolithic script. Each script should accomplish one use case
  • Tests
    • Are "paid to promote" prioritization listed correctly?
    • Do searches return the proper properties?
      • I want all apartments with 3+ bedrooms. Do all the appropriate apartments get returned
    • The correct floorplan image is returned. This may just be a URL that can be made to the src attribute of an element
    • Are the correct interior images returned?
    • Are favorited properties maintained?

// TODO:

  • Show graphs, tables, and UML

image (1)

#LOAD TESTING Load Testing with k6 k6 is an open-source load testing tool that allows you to test the performance of your web applications. Follow these steps to incorporate k6 load testing into your project:

Install k6: If you haven't already installed k6, you can download it from the official website and follow the installation instructions for your operating system. https://k6.io/docs/get-started/installation/

Write Test Scripts: Create test scripts using JavaScript to define the load testing scenarios. These scripts will simulate user behavior and interactions with your web application. You can create multiple scripts to cover different use cases and scenarios.

Run Load Tests: Run the k6 load tests from the command line using the k6 run command followed by the path to your test script. For example:

k6 run path/to/test/script.js

Analyze Results: After running the load tests, analyze the results to identify any performance bottlenecks or issues in your application. k6 provides detailed metrics and reports to help you understand the performance of your application under load.

Incorporate Tests into CI/CD Pipeline: Consider integrating k6 load tests into your continuous integration and delivery pipeline to automatically run tests and monitor the performance of the application with each deployment.

Additional links

About

This is part of a class project for CptS 582 at Washington State University, Spring 2024.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •