Stepping the implementation: Khi stepper thực hiện một hành động, nó gọi IUT với các đối số đầu vào tƣơng ứng. Các đầu vào đƣợc mã hóa trong hành động là trừu tƣợng và không nhất thiết phải là giá trị cụ thể theo yêu cầu bởi IUT. Tuy nhiên, phải có một ánh xạ đƣợc định nghĩa rõ ràng từ các hành động đầu vào trừu tƣợng đến các giá trị đầu vào cụ thể. Việc lập ánh xạ này là một phần không thể thiếu của stepper.
Việc thực hiện một hành động trong stepper có thể làm cho stepper trả về một hành động đầu ra nhƣ một giá trị trả về. Hành động này hoặc tƣơng ứng với giá trị trả về ngay lập tức của một phƣơng thức hoặc biểu diễn một trừu tƣợng của trạng thái kết quả của IUT. Phải có một ánh xạ đƣợc định nghĩa rõ ràng từ giá trị trả về cụ thể của IUT đến các hành động trừu tƣợng đƣợc trả về bởi stepper.
Các stepper là các thực hiện của giao diện IStepper của thƣ viện mô hình : public interface IStepper
{
Action DoAction(Action action); void Reset();
Một stepper cho BagImpl đƣợc chỉ ra trong hình 3.15. Để ánh xạ các hành động đầu vào của stepper đến các đầu vào cụ thể cho thực hiện bag, stepper phải trích xuất đối số đầu tiên của hành động đầu vào a, bằng cách sử dụng biểu thức chỉ mục a[0] và một sự đổi kiểu thành string. Để xây dựng các hành động đầu ra tƣơng ứng với các giá trị trả về của các hoạt động tìm kiếm và đếm, stepper sử dụng chức năng hữu ích Action.Create để tạo một hành động đầu ra từ một tên hành động nhất định và các đối số đƣợc cho là các giá trị .NET.