Skip to content

This repository includes my final project from CS320 at SNHU, demonstrating proficiency in Software Testing.

Notifications You must be signed in to change notification settings

eric-foster/CS320_Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

CS320_Final

Summary

This project repository is used to showcase and demonstrate proficency earned while taking the CS320: Software Test, Automation QA course at SNHU. For this project, I was tasked with developing the Contact Service features for a mobile application, followed by developing unit tests to ensure all code met the clients requirements. I was also asked to create documentation with a Summary and Reflection of the development process I underwent for this project.

How can I ensure that my code, program, or software is functional and secure?

To ensure my software is functional, I write comprehensive unit tests using JUnit to validate expected behaviors and catch regressions. I test both valid and invalid inputs, edge cases, and error handling to confirm the system behaves correctly under various conditions. To ensure security, I enforce input validation (For example, length checks and null checks) and avoid exposing internal logic unnecessarily. This prevents common issues such as null pointer exceptions and malformed data being stored or processed.

How do I interpret user needs and incorporate them into a program?

I start by analyzing the requirements documentation and identifying the key features users expect. I translate these needs into specific functionality, such as limiting field lengths or enabling updates to contact information. I pay attention to constraints and expectations, then design code that respects those boundaries. I also use feedback to ensure the program aligns with practical use cases.

How do I approach designing software?

My approach to software design begins with breaking down the problem into modular components. I define clear responsibilities for each class or method and prioritize simplicity and reusability. I typically write out class structures and plan test coverage before coding. This helps reduce complexity and ensures each piece of the application is testable and maintainable. I also follow object-oriented principles to structure the code logically and consistently.

About

This repository includes my final project from CS320 at SNHU, demonstrating proficiency in Software Testing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages