Set working directory

Load necessary libraries for simulation

library(tibble)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)

Project Report: Testing and Validation Analysis.

This project aims to analyse test cases defined by Business Analysts (BAs) and validated products by Project Managers (PMs) to assure product quality and reliability.

Methodology:

Use a tibble from Tidyverse

test_cases <- tibble(
  Test_Case_ID = paste0("TC", seq(1:100)),
  Description = c(rep("Login functionality", 10), 
                  rep("Search feature", 10), 
                  rep("Performance benchmark", 10), 
                  rep("User registration", 10), 
                  rep("Data encryption", 10), 
                  rep("Checkout process", 10), 
                  rep("Compatibility test", 10), 
                  rep("Data validation", 10), 
                  rep("Error handling", 10), 
                  rep("Reporting feature", 10)),
  Priority = sample(c("High", "Medium", "Low"), 100, replace = TRUE),
  Status = sample(c("Pending", "In-Progress", "Complete"), 100, replace = TRUE),
  Assigned_BA = sample(c("BA1", "BA2", "BA3"), 100, replace = TRUE),
  Requirements_Covered = sample(c("REQ001", "REQ002", "REQ003"), 100, replace = TRUE)
)
validations <- tibble(
  Validation_ID = paste0("V", seq(1:50)),
  Description = c(rep("User needs assessment", 5), 
                  rep("Vision alignment check", 5), 
                  rep("Regulatory compliance", 5), 
                  rep("Market research validation", 5), 
                  rep("Feature prioritization", 5), 
                  rep("Performance evaluation", 5), 
                  rep("Usability testing", 5), 
                  rep("Security audit", 5), 
                  rep("Integration validation", 5), 
                  rep("Stakeholder review", 5)),
  Validation_Date = as.Date(sample(seq(as.Date('2022-01-01'), as.Date('2022-12-31'), by="day"), 50)),
  Validation_Result = sample(c("Pass", "Fail"), 50, replace = TRUE),
  Associated_Feature = c(rep("Login functionality", 5), 
                         rep("Search feature", 5), 
                         rep("Payment processing", 5), 
                         rep("Reporting module", 5), 
                         rep("Data encryption", 5), 
                         rep("Checkout process", 5), 
                         rep("User interface", 5), 
                         rep("Data validation", 5), 
                         rep("Integration module", 5), 
                         rep("Feedback mechanism", 5)),
  Assigned_PM = sample(c("PM1", "PM2", "PM3"), 50, replace = TRUE),
  Market_Needs_Met = sample(c("Yes", "No"), 50, replace = TRUE)
)

sample data

print("Sample Test Cases Data:")
## [1] "Sample Test Cases Data:"
print(test_cases)
## # A tibble: 100 × 6
##    Test_Case_ID Description     Priority Status Assigned_BA Requirements_Covered
##    <chr>        <chr>           <chr>    <chr>  <chr>       <chr>               
##  1 TC1          Login function… Medium   In-Pr… BA3         REQ003              
##  2 TC2          Login function… Medium   Pendi… BA2         REQ002              
##  3 TC3          Login function… Medium   In-Pr… BA1         REQ003              
##  4 TC4          Login function… Low      Compl… BA3         REQ002              
##  5 TC5          Login function… High     Pendi… BA2         REQ001              
##  6 TC6          Login function… High     In-Pr… BA2         REQ001              
##  7 TC7          Login function… High     Compl… BA2         REQ002              
##  8 TC8          Login function… Low      In-Pr… BA2         REQ003              
##  9 TC9          Login function… Low      Compl… BA1         REQ002              
## 10 TC10         Login function… High     Compl… BA2         REQ001              
## # ℹ 90 more rows
print("Sample Validations Data:")
## [1] "Sample Validations Data:"
print(validations)
## # A tibble: 50 × 7
##    Validation_ID Description            Validation_Date Validation_Result
##    <chr>         <chr>                  <date>          <chr>            
##  1 V1            User needs assessment  2022-08-24      Fail             
##  2 V2            User needs assessment  2022-01-03      Fail             
##  3 V3            User needs assessment  2022-09-15      Fail             
##  4 V4            User needs assessment  2022-03-08      Pass             
##  5 V5            User needs assessment  2022-12-30      Pass             
##  6 V6            Vision alignment check 2022-02-07      Fail             
##  7 V7            Vision alignment check 2022-12-18      Fail             
##  8 V8            Vision alignment check 2022-03-11      Pass             
##  9 V9            Vision alignment check 2022-01-11      Pass             
## 10 V10           Vision alignment check 2022-02-04      Pass             
## # ℹ 40 more rows
## # ℹ 3 more variables: Associated_Feature <chr>, Assigned_PM <chr>,
## #   Market_Needs_Met <chr>

Select, Group, and Summarise test data

test_cases_summary <- test_cases %>%
  group_by(Priority, Status) %>%
  summarise(Count = n())
## `summarise()` has grouped output by 'Priority'. You can override using the
## `.groups` argument.

Select, Group, and Summarise product validation data

validations_summary <- validations %>%
  group_by(Validation_Result) %>%
  summarise(Count = n())

Findings:

Bar plot of test cases

Findings:

Pie plot of product validation

Conclusion:

Analyzing test cases and validation results provide significant insights into the testing process. Understanding the distribution of test cases and validation findings allows stakeholders to make informed decisions about how to improve product quality and successfully meet user needs.