qa真的只需要做黑盒測試,找到錯誤就扔給se,就完了麼?
qa幫助se定位錯誤,到底要定位到多深的程度?我想,最深的程度就是,se放假了,qa也能行駛se的職能,把錯誤給改了。
目前我們公司把se和qa截然分成兩派,se做好後,就交由qa來測。是否有更好的安排方式?比如se當一段時間qa,qa當一段時間se。敏捷不是提倡全功能團隊麼?既有某方面的專家,每個人也樂於、有能力承擔其它方面的工作,至少能夠通過有效的結對與任何角色一起完成特定的工作。這樣,對個人發展的廣度也是有幫助的。
這樣的話,qa與se的座位布局可能需要經常變換,重排了。因為物理上阻隔了溝通,便不利於敏捷的實行。
我的想法主要受到文章(的啟發。此文講到:google保證產品質量的方法和很多公司是不一樣的。google沒有乙個龐大的測試部門,相反,部分測試工作委派給了開發人員。
在傳統的業務導向的軟體公司(如穆迪),開發的軟體主要是為了滿足客戶的業務需求。如果業務邏輯十分複雜,涉及到的行業知識很豐富,這時開發人員(se)可能沒有足夠時間來進行需求分析,那麼qa則可以更多地承擔這種需求分析工作,進而成為業務專家。而對於37signals、google、facebook這樣的公司,他們的軟體開發其實是由工程師主導的。尤其是37signals公司,他們主要開發程式設計師使用的軟體,開發者本身就是客戶,他自己知道所要開發的軟體是什麼樣,自然也是其軟體質量的拍板者。這樣的開發團隊更強調測試的自動化,因而也只需要保留較少的專業測試人員。
我說的qa越殂代庖去改bug,是一種誇張的說法。qa有改bug的知識與技術,但不一定要qa親自改嘛。正如有的同學所說的,qa更有生產力的工作是測試,se更有生產力的工作是修改**。比如架構師有能力去完成每一行**的編寫,但他更重要、更有生產力的工作是切分好系統,然後把任務分配給下面的開發者來完成。所以,我想強調的是,作為「全功能團隊」的一員,你的頭銜是qa,但同時也有修改**的權利與能力,這不是很好麼。這也是**全體所有權的乙個重要體現。
有一次,我們team的qa見se很閒,就拉她去做了一天的qa。結果,這位se測出了很多bug。其中不少bug都是與介面使用起來順不順有有關,或者是某些介面元件的行為不一致。但不得不說,這些bugs都是值得去改進的。qa team的同學也同意這一點。這裡我想提問的是,為什麼qa沒有把這些bug提出來呢?乙個主要的原因是,qa主要從業務的視角(遠離**、是否匹配業務需求)看問題,而se則更多從更佳的操作流程、軟體精簡和一致性(接近**、是否符合程式設計師的直覺)來看問題。
ztree模糊查詢,只保留查詢到的節點
varztreenodes vartoshownodeslist newobject vartoshownodesarray varchecknodes varchecknodeids vartreeobj functionmakestationtree node type treeobj.hide...
找到第乙個只出現一次的字元
總時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個只包含小寫字母的字串,請你找到第乙個僅出現一次的字元。如果沒有,輸出no。輸入 乙個字串,長度小於100000。輸出 輸出第乙個僅出現一次的字元,若沒有則輸出no。樣例輸入 abcabd 樣例輸出 c include 別人的正確 i...
劍指offer 找到陣列中兩個只出現一次的數
乙個整型陣列裡除了兩個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。這個題我本來打算用暴力來解決的,弄乙個dictionary,然後對每個數計數。空間複雜度為o 1 用異或,相同數字的異或為0,0與任何數異或 為任何數。這樣所有數異或的結果,為那兩個只出現一次的數 然後根據這...