COTS: Transforming Crowdsourced Chaos into Precision Software Testing

A novel approach to collaborative testing in a crowdsourcing environment

2013-04-07
Yuan-Hsin Tung, Shian-Shyong Tseng
Summary
Problem
Method
Results
Takeaways
Abstract

This paper introduces a crowdsourcing-based collaborative testing approach that treats test case assignment as an Integer Linear Programming (ILP) problem. By implementing a greedy algorithm with four heuristic strategies, it optimizes the allocation of software testing tasks to distributed crowd workers while considering their reliability and expertise.

TL;DR

Software testing has long been a bottleneck in the development lifecycle. While crowdsourcing platforms like Amazon Mechanical Turk offer a solution, they often result in redundant work and low-quality reports. This paper presents COTS (Collaborative Testing System), which uses Integer Linear Programming (ILP) and greedy heuristics to intelligently assign test cases. The result? A 53% reduction in testing effort and quality near 90% of the theoretical optimum.

The Problem: The Inefficiency of the Crowd

Crowdsourcing is a double-edged sword. On one hand, you have thousands of potential testers; on the other, you have a "random walk" problem. Without guidance, crowd testers gravitate toward the most visible or popular functions of a Web application (e.g., the Login page), leaving complex, deep-link functionalities ignored.

Furthermore, unlike professional QA teams, crowd testers vary wildly in trustworthiness and availability. Simply put: how do you ensure that every line of code is tested by the right person without wasting time?

The Breakthrough: Testing as an Optimization Problem

The authors' core insight is to treat testing not as a management task, but as a mathematical optimization problem. They define the mission as finding the minimal-time test case combination that meets a "Trustworthiness Threshold" for every page in the application.

The Methodology

The system operates in two distinct phases:

  1. Training Phase (Modeling): The application is mapped as a dependence graph. Five matrices are created to capture the physical reality of the task:

    • A (Coverage): Which test case hits which page?
    • T (Time): How long does each tester take for each task?
    • TH (Threshold): How "complex" is a page (measured by Lines of Code)?
    • W (Trust): How reliable is this specific tester based on history?
    • H (Availability): How much time does the tester actually have?
  2. Testing Phase (Execution): Since solving ILP for thousands of variables is NP-Complete (too slow for real-time), the authors developed a Greedy Test Case Assignment Algorithm.

Model Architecture

The Heuristic Strategies

The paper evaluates four heuristics (H1-H4) to decide who gets which test case:

  • H1: Maximal Coverage (priority on "hitting" more pages).
  • H2: Minimal Time (priority on speed).
  • H3: Maximal Trust (priority on the best testers).
  • H4 (Compound): A balance of time and coverage.

Experimental Results: Speed vs. Quality

The researchers tested COTS against IBM ILOG CPLEX ( a standard for finding "perfect" mathematical solutions).

  • Scalability: CPLEX failed to find solutions once variables (testers × test cases) exceeded 2,800. The COTS heuristic, however, produced results in near-constant time.
  • Accuracy: The greedy algorithm maintained an approximate solution quality of 90% compared to the mathematical optimum.
  • Efficiency: In a real-world test with 144 testers, the "Guided" group (using COTS) discovered all 10 hidden bugs 3 days faster than a "Random" group, reducing total effort by 53%.

Table 8 - Execution Results Comparison

Professional Insight & Future Outlook

The true value of this work lies in the quantification of "Trustworthiness." By turning a subjective human trait into a weighting variable (), the model can effectively filter out "noise" from inexperienced testers.

However, a notable limitation is the static nature of the "trust" variable. Future systems would benefit from reinforcement learning, where the model updates a tester's trust score in real-time based on the validity of the bug reports they submit during the session.

In an era where "Test-as-a-Service" (TaaS) is becoming the norm, COTS provides a blueprint for how companies can stop treating crowdsourcing as a "black box" and start treating it as a precision engineering tool.


Summary Takeaway: By framing collaborative testing as an ILP problem, the authors prove that algorithmic guidance can halve the cost of QA while maintaining professional-grade defect detection.

Find Similar Papers

Try Our Examples

  • Search for recent papers that integrate machine learning to dynamically predict tester trustworthiness in crowdsourced software testing environments.
  • Which study first introduced the concept of 'Page Support' or similar coverage metrics for Web application testing, and how does this paper modernize that concept?
  • Explore how these ILP-based job assignment models have been adapted for mobile app testing or multi-platform cross-browser compatibility testing.
Contents
COTS: Transforming Crowdsourced Chaos into Precision Software Testing
1. TL;DR
2. The Problem: The Inefficiency of the Crowd
3. The Breakthrough: Testing as an Optimization Problem
3.1. The Methodology
3.2. The Heuristic Strategies
4. Experimental Results: Speed vs. Quality
5. Professional Insight & Future Outlook