大话2免费版一级星盘炼化表

    1. <form id=zhudObCNh><nobr id=zhudObCNh></nobr></form>
      <address id=zhudObCNh><nobr id=zhudObCNh><nobr id=zhudObCNh></nobr></nobr></address>

      何時適合進行自動化測試?(上)

      原創
      盡可能地實現測試自動化是軟件行業的總體趨勢。在軟件測試中,自動化可以極大地提高生産力,但僅限于某些情況。


      在這篇文章中,我們將介紹一種測試自動化的方法,目的是根據項目的上下文識別其可行性。對于測試人員來說,了解什麽是自動化以及何時可以自動化非常有用。測試人員應該多多注意如何優化工作,無論是與其他同事、開發人員合作,還是自己嘗試自動化工具。


      我們將介紹一些在還沒有自動化相關經驗時非常重要的概念,並評估它們相對于手動測試相關的重要性和優勢。

      什麽是測試自動化?

      從曆史上看,自動化的出現是爲了減少可編程系統、機械操作的活動所需的人力,目的是簡化繁重、重複和複雜的工作,使其更有效也更高效。通過這種方式,可以節省能源、時間和成本,同時讓人們騰出時間專注于其他任務。


      在軟件開發中,可以用同樣的方法,通過把原本要手動完成的工作自動化來實現。需要遵循的步驟被轉化成可重複的腳本,所以他們可以將精力集中在其他提供更大價值、減少執行時間的特定任務上。在某些情況下,自動化讓我們能執行人工本無法執行的測試,特別是考慮到在特定時間段內執行次數的限制,自動化可以更輕松地完成規模化、工程化測試。


      當測試人員考慮自動化時,最常見的問題之一是,“什麽時間可以進行自動化?”


      想知道是否應該自動化,包括評估潛在的投資、方法、收益,最重要的是,評估目前手動流程的相關信息。


      首先要充分了解手動過程,並且對這方面了如指掌,只有這樣才能實現自動化。對于手動過程的完整了解是知道什麽時間可以進行自動化的支柱,這意味著手動測試不能被完全替代。在可以實現自動化之前,必須非常熟練地掌握手動測試。先學會走路,然後再跑步。

      自動化誤區

      自動化有其優點和缺點,具體取決于項目、時間、成本、質量和方法。


      基于上述,另一個非常重要的點是,除了自動化或非自動化之外,還必須了解具體情況,而且所做的一切都是基于以最佳方式實現目標,選擇和應用適當的方法、工具和技能。


      避免陷入以下關于測試自動化的常見誤區:
      • 任何軟件都能自動化
      • 自動化的軟件質量更好
      • 自動化測試優于手動測試
      • 自動化帶來更快的投資回報
      無論是手動還是自動,不妨以下述七個原則來理解測試的目標:
      • 任何實踐的價值都取決于其背景;
      • 不存在“好的實踐”,但上下文中會發現好的實踐;
      • 人的合作是所有項目環境中最重要的部分;
      • 項目不是一成不變的,往往會采取不可預測的路徑;
      • 该産品是一种解决方案。如果问题不解决,産品将无法工作;
      • 好的軟件測試是一個具有挑戰性的智力過程;
      • 只有通过在整个项目中合作实践的判断力和技能,才能在正确的时间做正确的事情,有效地测试産品。
      这些原则是 Cem Kaner、James Bach 和 Brett Pettichord 在书籍《软件测试中的经验教训》中提出的,这有助于我们认识到适应当前项目情况的能力的重要性。

      手動與自動

      剛開始時,我們可能希望將一切都自動化,但開發和維護自動化測試腳本的成本可不是輕輕松松的。


      當一個項目把賭注押在自動化上時,理想情況下,它應該有一個堅實的基礎,從單元測試用例開始,通過即時反饋盡可能多地防止bug,然後繼續到不同的層級。這樣,手動和探索性測試在UI級別最有價值,專注于那些無法自動化的測試。


      Michael Cohen 的自动化测试金字塔解释了这个概念:


      在左邊,可以看到自動化通常是如何完成的,而右邊是理想的自動化測試,其中單元測試在金字塔中占據最大的比重。


      盡管自動測試和手動測試之間存在差異,但它們並不相互排斥,而是被視爲尋求更好軟件質量的補充任務。


      如果考慮測試的投資回報,手動測試新功能能以較低的成本快速了解應用程序的更多信息。隨著知識的獲取好測試的庫存增加,手動測試的成本也會增加。另一方面,自動化具有更高的初始成本,隨著它的進展而降低。這種趨勢如下圖所示:

      可以看出自動化需要大量的初始投資,直到“突破點”,與手動測試相比,我們開始看到它對長期成本産生的積極影響,也能夠清楚,這兩種測試活動都是完全兼容,産生短期和長期利益。
      DevOps幹貨
      HoME大话2免费版一级星盘炼化表