回溯法就是是把問題劃分為若干個步驟然後遞迴求解,如果本層沒有合適的解,將返回上一層,這個過程中剪了很多不必要的資料,所以效率較高。
生成測試時將所有的都窮舉出來,然後測試。
問題:素數環
回溯法:對應n=16,不輸出情況下使用43ms
#include#include#include#include#includeusing namespace std;
int visited[22]= ,a[22];
int primelist[22*2]= ;
int n;
bool isprime(int x)
void dfs(int cur)
;int n;
bool isprime(int x)
int main()
a[1]=1;
visited[1]=1;
int p=1,j;
while(cin>>n)
} while(next_permutation(a+2,a+n+1));
end=clock(); //程式結束用時
double endtime=(double)(end-start)/clocks_per_sec;
cout<<"total time:"<}
}
混合測試法
通過場景操作引入變化 測試人員必須找到其他替代的方法來執行場景中每個步驟或動作。如果要查詢商品,可以通過名稱來查詢,也可以通過商品編號來查詢,應為被測試軟體提供了這兩個功能,那麼我們就可以通過建立衍生場景的方式來測試第二種選擇。同樣,購買商品時,我們可以使用鍵盤快捷鍵而不是滑鼠來操作。還可以繞過建立...
組合測試法中的全對偶測試法
在測試設計過程中,大家都會遇到很多變數進行組合的情況,對相互組合的兩個或更多變數進行的測試活動就是組合測試,一般情況下都是使用組合測試法,但這種情況很多測試人員研究得不夠深入。測試人員需要開發或了解組合測試法中使用到的工具,通過程式得到用例組合才更加合理和全面,如果不在測試中一起改變某些變數,就會遺...
組合測試法中的全對偶測試法
在測試設計過程中,大家都會遇到很多變數進行組合的情況,對相互組合的兩個或更多變數進行的測試活動就是組合測試,一般情況下都是使用組合測試法,但這種情況很多測試人員研究得不夠深入。測試人員需要開發或了解組合測試法中使用到的工具,通過程式得到用例組合才更加合理和全面,如果不在測試中一起改變某些變數,就會遺...