客戶的反饋只是表象,實測才是硬道理

來源:互聯網
上載者:User

最近在做一個項目,該項目主要流程如下:

1、客戶應用已有的系統向SQL資料庫中的互動資料表插入資料

2、讀取互動資料表中的資料到項目的軟體上

3、項目的軟體通過介面串連公司已有的系統上,實現資料的控制

4、將控制的結果回送到互動資料表中

5、客戶的系統讀取結果

約摸半個多月後,項目軟體就做出來了,然後在公司內部進行了測試,之後交付給客戶使用。

本來一切都順利進行的,可是客戶那邊卻由於種種原因無法按要求安裝相應的環境,比如SQL2005或以上的版本,客戶卻用了SQL2000。

沒辦法,顧客是上帝,客戶非要用SQL2000,那就用吧。幸好,前期對資料庫設計的時候,沒有用SQL2005或以上版本的特性,所以用SQL2000所是沒問題的。

可是問題又來了,客戶使用項目軟體串連SQL2000的時候,卻意外崩潰了。於是客戶回函過來,就說軟體出問題了。看了他們發過來的EMAIL,仔細一看,大概是兩個問題。

問題1:使用WIN7系統串連時,提示無法修改Config檔。

問題2:使用XP系統串連時,軟體因異常而崩潰。

問題拿到手後,我進行了分析,初步斷定問題1產生的原因是WIN7本身的許可權管理進行的,後來我自己在WIN7上建了個標準使用者和管理使用者進行測試。使用標準使用者操作時,問題重現了。之後再用管理使用者操作,問題消失。這樣,這個問題也就得到瞭解決。

可是,後來又一思考,我們只是設計出滿足要求的軟體,難道WIN7系統管理權限的問題也是歸我們管的嗎?我們可以這麼想,但客戶不會這麼想。客戶只是知道使用我們的設計軟體出問題了,所以第一反應就是軟體的問題。之後我們實際測試重現了結果,發現不是我們的問題,而是客戶給的使用者權限不夠。所以,有的問題雖說不是我們本身的問題,但是因為是使用我們的產品產生的,也一樣要我們來解決,至少也要能證明不是我們的問題。幸好之後用WIN7有遇到這樣的問題,不然就會去糾結是不是程式設計出問題了。

至於第二個問題,就更加糾結了。首先是客戶非要用SQL2000的,環境上達不到我們所要求的。現在出了問題,卻又要找我們。我們能怎麼辦?只得找問題了。於是費了很大的勁下了SQL2000(公司網速慢的一踏糊塗,硬是花了4個小時才下完),然後在XP上安裝,折騰了很久,發現SQL2000啟動並執行可以。問題無法重現,這會是什麼原因?

後來一想,我XP上本來就是裝了SQL2008,會不會是因為這個?一檢查的時候,發現果然是SQL2000串連到了SQL2008的執行個體上。這都怪自己,安裝SQL2000的時候沒有注意。可是這並不能說明什麼,因為問題無法重現。於是想著,要不乾脆安裝一個乾淨的環境來測試。

於是又是一翻折騰,最後裝了個Win2003 server的虛擬機器。裝完後,立即就安裝SQL2000。本想著,這下測試應該可以知道問題了。可是一用軟體測試,發現壓根找不到SQL2000的資料庫。這又是什麼原因?果斷Google,經過一通的尋找資料,終於找到了眉目,是因為是從主機去訪問虛擬機器裡的資料庫,是屬於遠端存取。而遠端存取是要在SQL2000上開TCP/IP通道的,於是立即在SQL2000上開啟,並設了TCP/IP的預設連接埠1433。可是依然連不上?

這是又是什麼原因?抓頭!抓頭!
繼續Google,終於在查了N翻文章後(網上的文章很讓人蛋疼,基本都是複製粘貼的),終於找到了眉目。說是要打SP3的補丁,可我下的SQL2000是SQL2000SP4版的呀,不是相當於打了補丁嗎?糾結了半天,最後還是決定一試。於是毫不猶豫的下載之。無奈的網速,又是近1小時的等待,終於下完了補丁,裝了上去。

呃!!怎麼還是不行!!Why!Why!Why!

於是又Google尋找,翻遍文章大海之後,終於撈到了一枚針。說是server2003要裝SP4補丁!抓狂!抓狂!沒辦法,又是近1小時的下載,安裝之。然後按這文章所說的,確認一下版本,於是SELECT @@VERSION,一查,版本相達到了,是8.0.2039。之後進行串連,終於OK了。

經過一翻折騰,項目軟體串連SQL2000完全OK。於是問客戶是不是SQL2000沒有打補丁,客戶反應不清楚,於是客戶要了SP4的補丁安裝之。

本想著,這下總算好了吧。可客戶裝完後,依舊不行!!

怎麼還是不行!不行!不行!

想了又想,思了又思,最後想著會不會是資料庫使用者給的許可權不夠?於是問了下客戶,說是SQL2000資料庫的管理員給的使用者。而我測試的時候用的是sa使用者,於是進一步確定是許可權的問題。於是給客戶建議換個高點許可權的使用者,同時自個也立即按想法實際測試,發現真的是許可權的問題。當許可權不夠時,程式就會崩潰。就在我確認是這個原因時,客戶那邊也給了反饋,提升了許可權後,就OK了。

經過一翻折騰,總是解決了問題。可是想著這兩個問題,似乎都不是軟體的本身,一個是WIN7的許可權管理造成的,一個SQL2000的許可權管理造成的。不過仔細想來,也有一定的原因是軟體設計的缺陷,比如SQL2000許可權不夠時,應該給予提示,而應該是程式崩潰。這個是源於我自己設計的一個資料庫訪問類的缺陷,於是作了調整。

從另一角度來看,客戶回函出來的問題,並不一定是問題的本質,而只是一個表象,必須要實際測試之後,才能確認。所以不要被表象蒙了雙眼,實測才是硬道理。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.