Step-by-Step Process: How I Do Automated Testing in My System
Step 1: Prepare the Testing Environment
First, I ensure that my Java project is structured properly. I separate my main source code and
my test code clearly. This makes the project clean and professional.
I use:
Java (same version as my application)
JUnit (for automated testing)
An IDE such as IntelliJ IDEA or Eclipse
Having the testing framework integrated into the IDE allows me to run tests easily and view
results visually, which is very useful for screenshots.
Step 2: Identify Testable Components Based on the Test Plan
Next, I carefully examine my test plan and identify which test cases are suitable for automated
testing.
In my system, automated testing is best suited for:
Dataset loading
Analytical calculations (counts, percentages)
Data grouping (by year, language, author, publisher)
Handling invalid or corrupted CSV rows
Menu navigation and visual inspection of ASCII charts are not ideal for automation, so those
remain part of manual testing.
This clear separation ensures that automated testing is used where it adds real value.
Step 3: Create Automated Test Classes
For each major responsibility in my system, I create a corresponding test class.
For example:
A test class to verify dataset loading
A test class to verify analytics calculations
A test class to verify error handling for invalid input data
Each test class focuses on one responsibility, which keeps tests clean and readable. This
approach also aligns with clean coding and SOLID principles.
Step 4: Define Test Cases Based on the Test Plan
Each automated test directly maps to a test case from my test plan.
For example:
A test checks whether the correct number of books is loaded from the CSV file
A test checks whether missing ISBN values are counted correctly
A test checks whether grouping by language produces accurate totals
For every test, I define:
Input data (real or mock CSV data)
The expected output
A clear pass or fail condition
This ensures that testing is objective and repeatable.
Step 5: Run Automated Tests
Once the test cases are written, I run all automated tests directly from my IDE.
The testing framework automatically:
Executes each test
Compares actual results with expected results
Marks each test as PASS or FAIL
This process is extremely fast compared to manual testing and allows me to re-run tests
whenever I make changes to the code.