如何對乙個沒有輸入,而輸出是隨機的程式進行黑盒測試?

時間 2021-05-05 15:00:22

1樓:千鋒軟體測試學院

這個問題真的是沒有任何輸入麼?我不相信這樣的程式存在。從程式開發角度,任何功能的開發都是在一定的需求基礎之上的。如果沒有需求,為什麼寫這個程式啊?

之前,我讓學生寫乙個猜數字的程式。讓程式隨機生成乙個數字,然後輸入乙個數字,計算機通過判斷輸入的數字告訴輸入者輸入正確還是錯誤,包括提醒目標資料大於或者小於輸入的數字,直到輸入正確為止。

如果真的輸出都是隨機的,那麼個人覺得就不是做精準的結果測試了,只要大量的執行程式,判斷輸出結果是不是在特定的範圍就好了。如果不是,那就是bug,如果從來沒有超出範圍,那就是對的。

不過我始終不覺得乙個軟體真的能夠做到,輸出結果完全隨機到無法進行黑盒測試的程度。如果有那真的有可能是需求有問題。

2樓:彩虹金剛

首先題主說是黑盒測試,那麼就直說黑盒

比較能直接想到的方法,就是大批量的執行程式,然後收集結果,分析結果是否符合某種隨機分布。這裡涉及到兩點,1是要自動化執行這個程式,2是批量,比如執行10萬次,甚至上百萬次

還有一點是,一般隨機的話,都有乙個隨機種子去驅動,那麼這裡種子的決定因素是什麼呢?如果我們知道的話,就控制種子,然後進行測試,如果不知道影響種子的因素是什麼,那麼一般可以選取不同小時、不同分、不同年等測試下。

如何用python做乙個簡單的輸入輸出互動介面

超燃脂 如果非要限定Python,那就是自帶的tk或者pyqt等。不過這麼弄的不是太美觀,不夠好用,還不如用html5,如果複雜直接用前端框架vue 後端Python fastapi,這樣既美觀又實用,用的還是PYTHON。以前PYTHON後端用Django和flask,現在fastapi興起之後,...

如何用乙個1 8隨機生成器製作乙個1 7隨機數生成器?

草如花 先找 rand1 0 1 rand1rand8 1 8 1 rand7 rand1 7 1 1。擴充套件開來。已知randN L N 求 randM K,M 方法 先找 rand1 0 1 rand1 randN L N L randM rand1 M K KrandM randN L N ...

python如何生成乙個序列,是隨機仍20次骰子組合的序列,並把連續相同的打上括號?

python如何生成乙個序列,是隨機仍20次骰子組合的序列,並把連續相同的打上括號?比如這樣 1 2 5 5 3 1 2 4 3 2 2 2 2 3 6 5 5 6 3 1 解答的思路 核心思想是先生成二十次結果,然後遍歷一遍這個結果陣列,找到重複數字的下標範圍。把每一次遍歷中的結果都儲存到乙個結果...