My role
- Worked within a large QA team whose continuous testing supplied much of the defect backlog for the developers maintaining the product.
- Owned the large-file upload performance assignment: requirements, methodology, C# implementation, execution, analysis, reporting and two client demos.
- Worked within a mature desktop automation framework built with C#, NUnit, SpecFlow and FlaUI.
- Also handled manual desktop/web testing, test documentation and QA task management in Azure DevOps.
Technical challenges
- The developers replaced a single-threaded upload path with a multithreaded implementation, so testing had to compare performance across configurations rather than stop at successful completion.
- Large uploads had to remain stable throughout the transfer, then appear correctly on the web side with the expected file name, size and metadata.
- The performance workflow had to fit into a longstanding enterprise C# test framework and coexist with its existing desktop coverage.
My approach
I gathered the performance requirements directly from the internal team and client, then designed and implemented the C# test workflow inside the existing framework. I compared the original uploader with the new adaptive implementation, which activated multiple upload threads according to file size, and tested configurations ranging from roughly 3 to 64 threads. Performance Monitor and the application results provided the throughput and stability evidence.
Each run covered more than transfer speed. After the desktop client finished uploading, I checked the web interface to confirm the document was present and that its file name, size and other metadata were correct. I summarized the methodology and evidence for two client demos.
Test harness
Test harness for the multithreaded-upload comparison: the desktop client re-ran the same large-file upload at thread counts from 3 to 64 while PerfMon watched throughput and stability, then the web client confirmed the file landed with the correct name, size and metadata.
Results
- The measurements confirmed that splitting large-file uploads across multiple threads produced the required performance improvement over the original uploader.
- Testing uncovered a critical gap: the faster upload path was not applied to some file types. The developers fixed the gap, and I verified the fix in a follow-up test pass.
- The reusable C# workflow continued to support performance checks after my assignment. The client accepted the work after two demonstrations, and the feature was released into the maintained enterprise product.
Stack
More case studies