測試會產生被困的感覺,每引入一個新的測試,負擔就會加重。 建立穩定,無干擾且質量保證的測試套件是一項艱巨的任務……但是這些問題為什么會浮出水面?
大多數人可以同意,對任何類型的產品以一種或另一種方式進行的測試是揭示質量并隨后提高質量的好方法。 但是,當您指定一組靜態測試,然后在產品的整個生命周期(即回歸測試)中連續重新執行它時,測試過程可能會出現問題。
停下來思考一下……接口和抽象為客戶提供什么價值? 他們提供了一種享受“特別”有價值的服務的方式,而不必擔心向我們提供“如何”的復雜內部細節。
接口不是軟件開發所獨有的,它們在我們日常社區中無處不在。 考慮讓豐田維修。 雇主邁克非常擅長使用定制工具修理豐田汽車。 但是,作為客戶,您是否真的在乎*如何*并且*由誰*修理過汽車,如果您可以觀察到有故障的部件已被更換并且汽車的性能比以前更好?
邁克會更好地完成自己的工作,而不會被無法跟上他的尖端技術的人們所困擾。 邁克可能會放棄或學習更好的方法,從而丟棄一些舊的定制工具。 最好確保整個公司的服務可以為各種問題和客戶提供高質量的服務。
這是一個簡化,但是您明白了。
我觀察到,測試工作(過于頻繁)試圖驗證未指定的實現細節,而沒有真正考慮后果。 過多的指定不正確的測試很容易導致混亂的維護噩夢 ,使未來的產品開發變得困難且無濟于事。 一旦出現這些癥狀,開發人員便會停止不斷進行改進 ,以避免重構過程中出現問題以及與QA發生傳染性沖突,從而對產品質量造成的傷害大于對產品質量的幫助。
內部領域專家可以幫助您了解基本的業務戰略以及真正使公司成功的關鍵 。 在指定內部和外部業務流程都可見的重要接口時,請三思而后行。 摘錄的抽象內容捕獲了高級目標和概念,而不是復雜的實現細節。 將您的設計和測試工作集中在這些接口上,您將獲得穩定性。
請記住,企業競爭異常激烈,充滿活力,瞬息萬變以超越競爭對手。 在架構中定義接口和測試時,為業務的發展和發展提供靈活性。 使接口可以組合成獨特的服務組合,以支持不可預見的業務功能 ,以最小的努力實現價值的最大化。
未來將永遠是未知的,因此不要對明天會帶來太多的假設。
沒有水晶球之類的東西。
參考: 水晶球幻想我們JCG伙伴的Kristoffer干燥的deephacks博客。
翻譯自: https://www.javacodegeeks.com/2012/09/the-crystal-ball-illusion.html