Software Testing

Establish Confidence in Program Correctness
Published

February 3, 2025

Exploration

Activities

  • Tuesday and Thursday: Software Testing
    • Understand why algorithm engineers must test Python programs
    • Explore the benefits and limitations of testing
    • Investigate different approaches to software testing
    • Examine source code segments to illustrate trade-offs
  • Friday: Submit algorithm engineering project two, start algorithm engineering project three, and take the second algorithm engineering skill-check in the second half of the laboratory session.

Project

Goal

To build and use a Python program, called objectprocessing, that runs benchmarks to study the performance of storing and searching for objects using three different ways for determining whether or not a search term matches the value in an object’s attributes.

Steps

  • Click the link provided in Discord to get started on this project
  • Use Object Processing as your template repository
  • Install the project’s dependencies using devenv and/or poetry
  • Follow the instructions to complete the project:
    • Week 1: Implement all of the modules in objectprocessing
    • Week 2: Design, conduct, and document experimental results
  • Schedule office hours if you have questions
Student Insights

Students who completed this project shared these insights:

  • “Object processing can be a challenging task! But it is useful when determining overheads for how fast different search approaches are going to be in Python. It allows us to manipulate different variables of the approach to determine the fastest way to search through a database.” Keller Liptrap

  • “This experiment taught me how to properly organize and search through large data files using an object-oriented approach. This project taught me how efficient these systems can be when handling larger data sets.” Sabrina Rodriguez

Slides

Full Screen: Week Four: Software Testing

Back to top