0
我知道TDD(測試驅動開發)和單元測試,以及不同的覆蓋指標的原則。目前,我正在開發一個Linux C/C++項目,其中應該達到100%branch coverage。
問題
是否有人知道的技術/方法來自動識別這些單元測試的情況下,最有助於達到特定的目標範圍?然後每個單元測試可以與貢獻率(百分比)相關聯。有了這個數字,單元測試案例可以按他們的貢獻率排序。
我知道TDD(測試驅動開發)和單元測試,以及不同的覆蓋指標的原則。目前,我正在開發一個Linux C/C++項目,其中應該達到100%branch coverage。
問題
是否有人知道的技術/方法來自動識別這些單元測試的情況下,最有助於達到特定的目標範圍?然後每個單元測試可以與貢獻率(百分比)相關聯。有了這個數字,單元測試案例可以按他們的貢獻率排序。
Greedy algorithm可以在這裏幫助。在簡單的話:
因此,你會得到一個排序,看起來像由Squish Coco產生的一個候選對於GNU的coreutils:
通常,每個額外的測試的好處將下降你添加更多的測試。其中一些甚至可能對整個覆蓋範圍沒有貢獻。
這種排序的好例子是煙霧測試的最佳執行順序,只有有限的時間才能運行。對於一個完整的測試,你最好總是運行整個套件,當然。
我很想知道爲什麼一個低覆蓋率的測試用例並不比其他測試用例好。其他的應該覆蓋正常運行, –
@Ed Heal我並不是說測試用例越低越好!我有興趣按貢獻率排列測試用例。 – orbitcowboy
爲什麼?運行所有這些。在運行 –