CST438 Learning Journal 6
This week I learned more about end-to-end system testing and how it differs from the unit testing we had been doing throughout the semester. While unit tests focus on verifying the behavior of individual components in isolation, system tests verify that the frontend, backend services, database, and messaging components all work together correctly. I implemented a Selenium system test that automated an instructor logging in, navigating to a course, creating an assignment, entering grades for students, and verifying that those grades were successfully saved. Building this test helped me understand how Selenium interacts with a real browser and how important it is to use reliable element identifiers and explicit waits to synchronize with the application's state. I also learned that preparing reliable test data is just as important as writing the test itself. Before creating the Selenium test, I updated the seed data in both the Registrar and Gradebook applications so that the require...