User Story: As a user, I want to browse the list of available workout programs with their difficulty level and estimated duration, so that I can choose a program that matches my fitness level and time availability.
Scenario: E01-F01-S01 - Viewing all available workout programs
Given I am on the main screen of the application
When I navigate to the "Workout Programs" section
Then I should see a list of available programs
And each program should display its difficulty level
And each program should display its estimated durationScenario: E01-F01-S02 - Filtering programs by difficulty level
Given I am on the "Workout Programs" screen
When I select the filter option
And I choose "Beginner" difficulty
Then I should only see programs with "Beginner" difficulty level
And the program count should update to reflect filtered results# Test d'acceptation
Scenario: E01-F01-TA01 - Viewing programs with no internet connection
Given I have previously loaded the "Workout Programs" section
And I have cached workout programs
When I turn off my internet connection
And I navigate to the "Workout Programs" section
Then I should see my cached list of available programs
And I should see an indicator that I'm viewing offline content# Test d'acceptation
Scenario: E01-F01-TA02 - Handling empty search results
Given I am on the "Workout Programs" screen
When I search for "underwater basket weaving"
And no programs match this search term
Then I should see a message "No programs match your search"
And I should see suggestions for alternative search termsUser Story: As a user, I want to see the details of a workout program with all its exercises, sets/reps count and targeted muscles, so that I can understand what I’ll be doing before starting the program.
Scenario: E01-F02-S01 - Viewing complete program details
Given I am on the "Workout Programs" screen
When I select a specific program called "Full Body Strength"
Then I should see a detailed view of the program
And I should see a list of all exercises included in the program
And each exercise should display its sets and repetitions count
And each exercise should show which muscle groups it targetsScenario: E01-F02-S02 - Viewing exercise demonstration within program details
Given I am viewing details of the "Full Body Strength" program
When I tap on the exercise "Barbell Squat"
Then I should see a demonstration of the exercise
And I should see proper form instructions
And I should see safety precautions for the exercise# Test d'acceptation
Scenario: E01-F02-TA01 - Accessing program details without internet connection
Given I have previously viewed the "Full Body Strength" program
When I turn off my internet connection
And I navigate to the "Full Body Strength" program details
Then I should see the cached program details
But the exercise videos should show an offline indicator
And I should see an option to download content for offline useUser Story: As a user, I want to start a workout session from a program and receive step-by-step instructions, so that I can follow the program correctly without having to memorize all the details.
Scenario: E01-F03-S01 - Starting a workout session
Given I am viewing the details of "Full Body Strength" program
When I tap the "Start Workout" button
Then a new workout session should begin
And I should see the first exercise in the program
And I should see instructions for completing the first setScenario: E01-F03-S02 - Progressing through exercises in a workout
Given I am in an active workout session of "Full Body Strength"
When I complete all sets of the current exercise "Barbell Squat"
And I tap "Next Exercise"
Then I should see the next exercise "Bench Press" in the program
And the progress indicator should update to show my position in the workout
And my completed sets should be saved to my workout history# Test d'acceptation
Scenario: E01-F03-TA01 - Attempting to start a workout with low battery
Given I am viewing the details of "Full Body Strength" program
And my device battery is below 10%
When I tap the "Start Workout" button
Then I should see a warning about low battery
And I should be asked to confirm starting the workout
And I should be advised to connect a chargerUser Story: As a user, I want to be able to interrupt, pause and resume my workout session, so that I can adapt to unexpected interruptions and still complete my workouts.
Scenario: E01-F04-S01 - Pausing an active workout
Given I am in the middle of a "Full Body Strength" workout session
When I tap the "Pause" button
Then the workout timer should stop
And the application should display "Workout Paused"
And I should see options to "Resume" or "End Workout"Scenario: E01-F04-S02 - Resuming a paused workout
Given I have a paused "Full Body Strength" workout session
When I tap the "Resume" button
Then the workout should continue from where I left off
And the workout timer should resume countingScenario: E01-F04-S03 - Resuming a workout after application restart
Given I have a paused workout session
When I close the application
And I reopen the application
Then I should see a notification about my paused workout
When I tap on the notification
Then I should be taken directly to my paused workout
And all my previous progress should be intact# Test d'acceptation
Scenario: E01-F04-TA01 - Recovering from app crash during workout
Given I am in the middle of a "Full Body Strength" workout session
When the application unexpectedly crashes
And I relaunch the application
Then I should be prompted to resume my interrupted workout
And all my previously completed sets should be preserved
And the workout should continue from the exercise I was performingUser Story: As a fitness enthusiast, I want to create and follow structured training programs spanning multiple weeks, so that I can progress systematically toward specific goals with properly sequenced workouts.
Scenario: E01-F05-S01 - Creating a new multi-week training program
Given I am on the "Programs" screen
When I tap "Create New Program"
And I name it "12-Week Strength Builder"
And I set the duration to "12 weeks"
And I set the frequency to "4 workouts per week"
Then my program structure should be created
And I should see a 12-week calendar with 4 workout slots per week
And I should be prompted to assign specific workouts to each slotScenario: E01-F05-S02 - Assigning workout types to program days
Given I am editing my "12-Week Strength Builder" program
When I tap on Week 1, Day 1
And I select "Upper Body" as the workout type
And I tap on Week 1, Day 2
And I select "Lower Body" as the workout type
And I tap on Week 1, Day 4
And I select "Full Body" as the workout type
And I tap on Week 1, Day 6
And I select "Mobility" as the workout type
Then my Week 1 should have these four workouts assigned
And the calendar should visually indicate each workout typeScenario: E01-F05-S03 - Setting up progressive overload in a program
Given I am editing my "12-Week Strength Builder" program
When I tap "Progressive Overload Settings"
And I select "Weekly weight increase"
And I set "2.5%" as the increment rate
Then the program should calculate weight progressions across weeks
And workout intensity should increase according to the specified rate
And I should see a visual progression chart for key exercises# Test d'acceptation
Scenario: E01-F05-TA01 - Handling deload weeks in a program
Given I am editing my "12-Week Strength Builder" program
When I tap on Week 4
And I select "Set as Deload Week"
Then Week 4 should be marked as a deload week
And the intensity for all Week 4 workouts should be reduced by 30%
And Week 4 should be visually distinct in the program calendar
And the progression calculation should account for this deloadUser Story: As a user, I want to select from established training methodologies to build my program, so that I can follow proven systems without having to design everything from scratch.
Scenario: E01-F06-S01 - Creating a program from methodology templates
Given I am on the "Create Program" screen
When I select "Use Methodology Template"
And I choose "5/3/1 Program"
Then I should see a pre-configured 4-week cycle
And I should be prompted to enter my one-rep maxes for main lifts
And the program should calculate all weights based on percentages
And accessory work templates should be suggestedScenario: E01-F06-S02 - Customizing a methodology program template
Given I am setting up a "5/3/1" program
When I complete entering my one-rep maxes
And I select "BBB (Boring But Big)" as the accessory template
And I modify the default 5x10 to 5x8 for accessory work
Then my customized 5/3/1 program should be created
And the weights should follow the 5/3/1 progression
And the accessory work should follow my modified scheme# Test d'acceptation
Scenario: E01-F06-TA01 - Adapting a program template to available equipment
Given I am setting up a "StrongLifts 5x5" program template
And I have indicated I don't have access to a squat rack
When the program is being generated
Then I should see alternative exercises suggested for barbell squats
And I should be asked if I want to substitute all rack-dependent exercises
And the program should be adapted while maintaining the core methodologyUser Story: As a user following a multi-week program, I want to track my adherence and progress through the program, so that I can ensure I’m staying on track and see my development over time.
Scenario: E01-F07-S01 - Viewing program progress overview
Given I am following the "12-Week Strength Builder" program
And I have completed 4 weeks
When I go to "My Programs"
And I select "12-Week Strength Builder"
Then I should see I am "33% complete" with the program
And I should see a progress bar indicating completion
And I should see a calendar view with completed and upcoming workouts
And I should see performance metrics comparing initial and current strengthScenario: E01-F07-S02 - Getting reminders for scheduled program workouts
Given I am in Week 3 of my "12-Week Strength Builder" program
And today is scheduled for "Lower Body" workout
When I open the app
Then I should see a reminder that I have a scheduled workout today
And I should see quick access to start today's "Lower Body" workout
And I should see how this workout fits into my overall program# Test d'acceptation
Scenario: E01-F07-TA01 - Handling missed workouts in a program
Given I am following the "12-Week Strength Builder" program
And I have missed the Day 2 workout in Week 3
When I open the program calendar
Then I should see the missed workout marked accordingly
When I tap on the missed workout
Then I should see options to "Skip", "Reschedule", or "Modify Program"
When I select "Reschedule"
Then I should be able to select a new date for this workout
And the program should adjust subsequent workouts if neededUser Story: As a user, I want to see detailed analytics about my completed program, so that I can evaluate its effectiveness and make informed decisions about my next training cycle.
Scenario: E01-F08-S01 - Viewing end-of-program analytics
Given I have completed all 12 weeks of my "12-Week Strength Builder" program
When I tap on "Program Results"
Then I should see before/after comparisons for key metrics
And I should see my strength increases for main lifts
And I should see my adherence rate to the schedule
And I should see volume progression charts across the programScenario: E01-F08-S02 - Comparing results across multiple program cycles
Given I have completed two cycles of the "12-Week Strength Builder" program
When I tap on "Program History"
And I select both completed cycles
Then I should see a side-by-side comparison of results
And I should see which cycle produced better strength gains
And I should see which cycle had better adherence
And I should receive suggestions for my next program based on the analysis# Test d'acceptation
Scenario: E01-F08-TA01 - Exporting program results for external analysis
Given I have completed my "12-Week Strength Builder" program
When I view the program results
And I tap "Export Data"
Then I should see options for export format
When I select "CSV"
Then a comprehensive dataset of my program should be exported
And it should include all workouts, exercises, sets, reps, and weights
And it should include progression metrics and adherence data
And I should be able to share or save this exportE. Bruno - ?meta:title