0
0
Testing Fundamentalstesting~10 mins

Stored procedure testing in Testing Fundamentals - Test Execution Trace

Choose your learning style9 modes available
Test Overview

This test runs a stored procedure that calculates the total sales for a given product ID. It verifies that the procedure returns the correct total amount.

Test Code - PyTest
Testing Fundamentals
import pyodbc
import unittest

class TestStoredProcedure(unittest.TestCase):
    def setUp(self):
        self.conn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=SalesDB;Trusted_Connection=yes;')
        self.cursor = self.conn.cursor()

    def tearDown(self):
        self.cursor.close()
        self.conn.close()

    def test_total_sales_procedure(self):
        product_id = 101
        # Execute stored procedure
        self.cursor.execute("EXEC CalculateTotalSales ?", product_id)
        result = self.cursor.fetchone()
        self.assertIsNotNone(result, "No result returned from stored procedure")
        total_sales = result[0]
        # Expected total sales for product_id 101 is 1500.00
        self.assertEqual(total_sales, 1500.00, f"Total sales for product {product_id} should be 1500.00")

if __name__ == '__main__':
    unittest.main()
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test startsTest framework initializes test case for stored procedure-PASS
2Database connection opens using pyodbcConnected to SalesDB on localhost-PASS
3Stored procedure 'CalculateTotalSales' is executed with product_id=101Procedure runs on database server-PASS
4Fetch the result from stored procedure executionResult row with total sales value retrievedCheck that result is not NonePASS
5Assert that total sales equals 1500.00Compare returned value with expectedtotal_sales == 1500.00PASS
6Close database connection and end testResources released-PASS
Failure Scenario
Failing Condition: Stored procedure returns no result or incorrect total sales value
Execution Trace Quiz - 3 Questions
Test your understanding
What does the test verify after executing the stored procedure?
AThat the stored procedure returns the correct total sales value
BThat the database connection is closed
CThat the product ID is valid
DThat the stored procedure runs without errors
Key Result
Always verify that stored procedures return expected results by asserting on their output values, and ensure test data in the database matches expected conditions.