水晶球錯覺

我注意到人們有時會避免進行徹底的測試。 對于某些人來說,這聽起來像是偽造的,但是請聽我說……我確實理解為什么會這樣。

測試會產生被困的感覺,每引入一個新的測試,負擔就會加重。 建立穩定,無干擾且質量保證的測試套件是一項艱巨的任務……但是這些問題為什么會浮出水面?

大多數人可以同意,對任何類型的產品以一種或另一種方式進行的測試是揭示質量并隨后提高質量的好方法。 但是,當您指定一組靜態測試,然后在產品的整個生命周期(即回歸測試)中連續重新執行它時,測試過程可能會出現問題。

停下來思考一下……接口和抽象為客戶提供什么價值? 他們提供了一種享受“特別”有價值的服務的方式,而不必擔心向我們提供“如何”的復雜內部細節。

接口不是軟件開發所獨有的,它們在我們日常社區中無處不在。 考慮讓豐田維修。 雇主邁克非常擅長使用定制工具修理豐田汽車。 但是,作為客戶,您是否真的在乎*如何*并且*由誰*修理過汽車,如果您可以觀察到有故障的部件已被更換并且汽車的性能比以前更好?

邁克會更好地完成自己的工作,而不會被無法跟上他的尖端技術的人們所困擾。 邁克可能會放棄或學習更好的方法,從而丟棄一些舊的定制工具。 最好確保整個公司的服務可以為各種問題和客戶提供高質量的服務。

這是一個簡化,但是您明白了。

我觀察到,測試工作(過于頻繁)試圖驗證未指定的實現細節,而沒有真正考慮后果。 過多的指定不正確的測試很容易導致混亂的維護噩夢 ,使未來的產品開發變得困難且無濟于事。 一旦出現這些癥狀,開發人員便會停止不斷進行改進 ,以避免重構過程中出現問題以及與QA發生傳染性沖突,從而對產品質量造成的傷害大于對產品質量的幫助。

內部領域專家可以幫助您了解基本的業務戰略以及真正使公司成功的關鍵 。 在指定內部和外部業務流程都可見的重要接口時,請三思而后行。 摘錄的抽象內容捕獲了高級目標和概念,而不是復雜的實現細節。 將您的設計和測試工作集中在這些接口上,您將獲得穩定性。

請記住,企業競爭異常激烈,充滿活力,瞬息萬變以超越競爭對手。 在架構中定義接口和測試時,為業務的發展和發展提供靈活性。 使接口可以組合成獨特的服務組合,以支持不可預見的業務功能 ,以最小的努力實現價值的最大化。

未來將永遠是未知的,因此不要對明天會帶來太多的假設。

沒有水晶球之類的東西。

參考: 水晶球幻想我們JCG伙伴的Kristoffer干燥的deephacks博客。


翻譯自: https://www.javacodegeeks.com/2012/09/the-crystal-ball-illusion.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371211.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371211.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371211.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python—day3

1、字符串在C里邊就是字符數組 Python里邊一切事物都是對象,對象則是類創建的 2、set集合 set是一個無序且不能重復的元素集合 #!/usr/bin/env python# encoding: utf-8#set對象不能有重復s1 set()s1.add(alex)print(s1)s1.add(alex)print(s1)s1.add(shidong)print…

iOS - The file “XXX.app” couldn’t be opened because you don’t have permission to view it.

當引入第三方的框架的時候 容易產生以下問題: The file “XXX.app” couldn’t be opened because you don’t have permission to view it. 如圖: 造成的原因: info文件中的字段Executable file 與 build settings欄中的Packaging中的Produc…

Google Guava v07范例

我們在TouK舉辦了一個名為“每周技術研討會”的活動,即每個星期五的16:00,每個愿意參加的人都有一個演講。 我們展示了我們在家學習和學習的東西,但是我們也設有一個公告板,上面有人們想聽的話題。 上周MaciejPrchniak談論了Cloju…

推薦一些經過實踐檢驗的學習方法

作者做了多年的Java培訓教師,也接觸過不少初學者,根據多年的教學互動經驗,總結了一些能少走彎路的學習方法,供大家參考。 第一,是要多學多練,這似乎是廢話,但真正能非常上心學習的人還真是少數&…

使JFrame透明

首先創建一個帶有滑塊的框架,該滑塊將用于設置透明度量。 import javax.swing.JFrame; import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle(Transparent Frame);setSize(400,400);setDefaultCloseOper…

第一次作業之成員介紹

Lab205的新鮮血液 很理所當然的,實驗室的4枚“小鮮肉”在現代軟工的課程上組成了一個team,作為一個負責的team長,我當然要放上組員們的自述啦!(為什么不是他述,╭(╯^╰)╮,誰讓我是個傲嬌的組長…

java自定義分頁標簽_自定義分頁標簽--仿javaeye分頁效果

效果如圖:1、JSP規范1.1版本后增加了自定義標簽庫。實現自定義標簽的步驟(1)開發自定義標簽處理類。(2)建立*.tld文件。(3)在web.xml中增加自定義標簽的定義。(4)在jsp中使用自定義標簽。2、自定義標簽類(1)繼承javax.servlet.jsp.tagext.TagSupport(2)標簽類屬性&a…

Java隱藏代碼

不久前,我遇到了字符串中不可見字符的問題。 因為它們是不可見的,所以它們確實會引起混亂。 String a "Hello\u200e";String b "Hello\u200f";System.out.println(\ a " and " b " are length " a.length…

201521123052《Java程序設計》第5周學習總結

1. 本周學習總結 1.1 嘗試使用思維導圖總結有關多態與接口的知識點。 1.2 可選:使用常規方法總結其他上課內容。 學習了更多markdown的知識 參考資料: 百度腦圖 XMind 2. 書面作業 作業參考文件下載 1.代碼閱讀:Child壓縮包內源代碼package parent;publi…

Deepin安裝Curl的方法

Deepin安裝Curl的方法 以Deepin為例,只需一條命令即可: sudo apt-get install curl libcurl3 libcurl3-dev php5-curlposted on 2017-09-15 23:22 MissA-VeryGood 閱讀(...) 評論(...) 編輯 收藏 轉載于:https://www.cnblogs.com/MissA-VerGood/p/752911…

亞信聯創java面試題_亞信聯創面試題及答案

1. Vector & ArrayList1) Vector的方法都是同步的(Synchronized),是線程安全的(thread-safe),而ArrayList的方法不是,由于線程的同步必然要影響性能,因此,ArrayList的性能比Vector好。2) 當Vector或ArrayList中的元素超過它的初始大小時,…

HTTP協議之http狀態碼詳解

什么是HTTP狀態碼 HTTP狀態碼的作用是:Web服務器用來告訴客戶端,發生了什么事。 狀態碼位于HTTP Response 的第一行中,會返回一個”三位數字的狀態碼“和一個“狀態消息”。 ”三位數字的狀態碼“便于程序進行處理, “狀態消息”更…

有用的Ant構建標簽

問題: 如何在ant文件中執行以下任務? 制作zip文件。 運行命令。 將文件復制到遠程計算機。 在遠程Linux機器上運行命令。 打開輸入框并響應輸入值。 撥打螞蟻電話。 答案: 1.制作zip文件: 以下是在ant中制作zip文件的xml…

poj-2955-Brackets-區間DP

poj-2955-Brackets-區間DP BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9014 Accepted: 4829Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence,if s …

Python調用(運行)外部程序

在Python中可以方便地使用os模塊運行其他的腳本或者程序,這樣就可以在腳本中直接使用其他腳本,或者程序提供的功能,而不必再次編寫實現該功能的代碼。為了更好地控制運行的進程,可以使用win32process模塊中的函數。如果想進一步控…

Java中已檢查和未檢查的異常

Java有兩種類型的異常-已檢查和未檢查。 簡而言之,選中的是指開發人員可以從異常中合理恢復的情況,而未選中的異常是無法處理的編程錯誤。 本文介紹了何時使用哪種。 但這不是那么簡單–受檢查的異常使代碼變得“丑陋”。 它們迫使開發人員編寫try / cat…

CCF - 201403-3 - 命令行選項

問題描述 試題編號:201403-3試題名稱:命令行選項時間限制:1.0s內存限制:256.0MB問題描述: 問題描述請你寫一個命令行分析程序,用以分析給定的命令行里包含哪些選項。每個命令行由若干個字符串組成,它們之間恰好由一個空…

java 枚舉 values_JAVA 枚舉運用一 values方法

importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.util.Set;import java.util.*;public classEnumJavaClass {public enumEnumClass{One("參數變量枚舉一"),Two("參數變量枚舉二"),Three("參數變量枚舉三");privateStri…

telnet測試端口是否正常打開

點擊計算機的開始菜單--》運行 ,輸入CMD命令,然后確定。打開cmd命令行。 輸入telnet測試端口命令: telnet IP 端口 或者 telnet 域名 端口 回車 如果端口關閉或者無法連接,則顯示不能打開到主機的鏈接,鏈接失敗 端口…

Linux歷史,安裝,分區,版本

Linux 歷史 1970年是 UNIX元年,這一年 Kenneth Lane Thompson 和 Dennis Ritchie 合作編寫了UNIX系統。Stallman 發起了GNU 計劃,他本人開發了Emacs, GCC, GDB.Minix:教學用的類UNIX系統,由于UNIX是收費的且價格昂貴,因…