Southern New Hampshire University

CS-320: Software Testing, Automation, and Quality Assurance

A study guide to SNHU's course on testing across the software development lifecycle: requirements, verification and validation, unit tests and quality management.

Updated October 2026 · 5 min read

CS-320 teaches Southern New Hampshire University students to prove that software does what it should, using tests rather than hope.

SNHU's catalog describes the course as applying software engineering testing strategies and practices within the software development lifecycle, including requirements analysis, verification and validation, and quality management.

The creation of unit tests and the analysis of different testing approaches are also covered. It is a 3-credit undergraduate course with IT-145 as the prerequisite.

The difficulty is thinking like a tester. Developers check that code works; testers look for the inputs that break it.

Course at a Glance

ItemDetails
UniversitySouthern New Hampshire University (SNHU)
Course codeCS-320
LevelUndergraduate, 3 credits
PrerequisiteIT-145 Foundation in Application Development
Subject areaSoftware testing and quality assurance
Typical workUnit test suites, requirement-driven code, testing analyses and reflections

What CS-320 Covers

TopicIn plain language
Requirements analysisTurning what the client wants into testable statements
VerificationAre we building the product right? (meets the specification)
ValidationAre we building the right product? (meets the user's need)
Unit testingAutomated tests for individual classes and methods
Testing approachesComparing techniques such as black-box and white-box testing
Quality managementProcesses that keep quality high across the lifecycle

Key Concepts Explained

From Requirement to Test

Every requirement should map to at least one test, and good requirements are specific enough to test.

Example requirement: "A contact ID is required, unique, no longer than 10 characters and cannot be changed." Tests follow directly: a valid ID is accepted; a null ID is rejected; an 11-character ID is rejected; exactly 10 characters is accepted; a duplicate ID is rejected; there is no way to update the ID.

Boundary Value Analysis and Equivalence Partitioning

Equivalence partitioning groups inputs that should behave the same, so you test one from each group. Boundary analysis tests the edges, where bugs cluster.

Example: For a phone number field that must be exactly 10 digits, test 9, 10 and 11 digits, plus a 10-character value containing a letter. Four tests cover the main partitions and both boundaries.

Unit Tests with a Framework

Unit testing frameworks, such as JUnit for Java, run tests automatically and report failures. A typical test sets up an object, performs an action and asserts the expected result, including expected exceptions for invalid input.

Black-Box and White-Box Testing

Black-box testing designs tests from requirements without looking at the code. White-box testing uses knowledge of the code, for example to reach every branch. Coverage tools show which lines your tests execute, but high coverage does not guarantee good tests.

Analyzing Testing Approaches

SNHU's description includes analyzing various testing approaches, which often appears as a reflection or summary. Strong analyses:

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Classes plus unit testsRequirement-driven codingWrite tests for each requirement, including failures
Test planStrategyMap requirements to test cases in a table
Testing analysisComparing approachesUse examples from your own tests

Testing Across the Lifecycle

SNHU frames testing as part of the whole software development lifecycle, not a final step. Different levels of testing catch different problems:

LevelWhat it checks
UnitIndividual methods and classes
IntegrationHow components work together
SystemThe whole application against requirements
AcceptanceWhether users and clients accept it

Automated tests make frequent change safe: a regression suite reruns every existing test after each change, catching bugs reintroduced by new code. Defects found early, during requirements or unit testing, are generally far cheaper to fix than those found after release, which is the main argument for testing from the start.

Where Students Get Stuck

Study Tips for CS-320

How We Help with CS-320

Send the requirements, starter code, your work and feedback. A tutor can explain testing techniques, review your tests or prepare a model test suite to study.

GradeEssays is independent of Southern New Hampshire University. Our work is tutoring and reference help; you write and submit your own work under SNHU's academic integrity policy.

Make Sense of Your CS-320 Work

Share the project files and feedback. A software tester prepares a model test suite and explanation you can learn from.

Start My CS-320 Help

Free revisions · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What is the prerequisite for CS-320?

SNHU lists IT-145 Foundation in Application Development.

What is the difference between verification and validation?

Verification checks the software meets its specification; validation checks it meets the user's actual needs.

How many credits is CS-320?

SNHU lists it as a 3-credit undergraduate course.

Which testing framework does CS-320 use?

The catalog does not name one; your course materials will specify the language and framework.

How many tests does each requirement need?

At least one, and usually several: valid cases, invalid cases and boundaries.

Can you write my CS-320 tests for me to submit?

No. We provide tutoring and model test suites for study; you submit your own work.