特色
    Tricentis虛擬峰會:以DevOps的速度交付軟件創新

    從敏捷、DevOps等方麵的頂級思想家那裏學習最新的知識。會議現在可以按需提供。

    看現在
    特色
    獲得Tricentis認證

    開始你的學習之旅。

    查看課程
    特色
    您的轉換工具包

    使用我們的轉換工具包來提高您的企業測試策略。

    了解更多
    圖像

    指南和見解

    規範行業中現代化軟件測試的策略

    敏捷轉換與遵從性在哪裏相遇

    如果您在一個受監管的行業工作,您已經知道:優先考慮軟件質量是沒有商量餘地的。但是許多組織正在從傳統的測試方法過渡到擁抱敏捷的好處。當他們著手進行軟件測試現代化計劃時,這些組織發現某些敏捷方法實際上可以幫助簡化法規遵從性。在本文中,我們將探討在受監管的行業中實現軟件測試現代化的策略。

    去年,美國食品和藥物管理局(FDA)出於網絡安全考慮,有史以來第一次召回了一款醫療設備。2017年8月,接近50萬雅培起搏器召回是為了解決一個漏洞,該漏洞可能會讓黑客耗盡電池,甚至改變設備的節奏命令。雅培發布了一個固件補丁,由醫務人員應用於患者,以解決漏洞。這是去年雅培心髒植入手術要求的第二輪更新。

    就在幾個月前,艾奎法克斯的網絡攻擊使超過1.43億美國消費者麵臨身份被盜用的風險。這次攻擊是近代史上個人敏感信息麵臨的最大風險之一。Equifax及其安全顧問進行的一項調查顯示,黑客利用網站軟件的一個弱點,獲取了20.9萬名消費者的姓名、出生日期和地址,以及信用卡號碼。

    這兩家公司的公眾形象都受到了重大打擊,隨後也遭受了經濟損失。

    當風險如此之高時,優先考慮軟件質量是沒有商量餘地的,許多組織正在現代化軟件測試過程,以提高他們對質量的關注。然而,在規範化行業的開發和測試團隊中仍然存在一個神話,即轉向敏捷開發和測試是有風險的。

    Adam Satterfield是Anthem的測試專家,負責實施QA最佳實踐,他說,在受監管的行業中,他遇到了敏捷偏見。Satterfield說:“有一種常見的誤解,認為敏捷是一種沒有文檔的過程,在需要大量書麵記錄或將被審計的公司中行不通,但事實並非如此。”

    關鍵的區別在於敏捷最大限度地減少不必要的文檔和流程,以創建快速的反饋周期。這使得團隊能夠快速響應不斷變化的業務、客戶或法規需求。薩特菲爾德說:“如果你有一個來自政府的變化,或者由於法律或法規的變化而需要實施,比如《平價醫療法案》,你希望盡快實施。”除了承諾更快的上市時間外,許多核心敏捷實踐都是專門為提高軟件質量而設計的。這種對質量的關注為在規範行業中開發軟件的團隊提供了明顯的優勢。

    大多數受監管的行業都不要求開發人員和測試人員遵守特定的方法——甚至不要求通過法律進行測試。考慮一下在FDA權限範圍內被歸類為醫療設備的醫療軟件。FDA不強製要求特定的開發或測試類型,隻要組織能夠生產所需的工件,並能證明設備是安全有效的,滿足所有設計要求並滿足用戶需求。

    然而,在這樣一個嚴格監管的環境中,缺陷的後果可能是重大的。醫療保健、銀行和其他受監管行業的創新開發組織正在應用敏捷原則,如行為驅動開發(BDD)和驗收測試驅動開發(ATDD),將質量放在首位。以下是這些方法可以幫助解決受監管行業的測試人員所麵臨的獨特問題的五種方法。

    1.BDD有助於確保所有涉眾都理解需求

    BDD是一個敏捷的過程這有助於團隊更有效地理解、開發、測試和交付最重要的功能。它涉及業務涉眾、產品所有者、開發人員和測試人員之間的緊密協作和溝通,以便在開發開始之前發現、理解業務需求並將其轉換為技術需求。

    BDD測試腳本與傳統測試腳本的不同之處在於,它們使用類似於英語語言的語法編寫。這意味著業務涉眾更容易驗證開發人員和測試人員是否理解他們的需求,並且在需求從業務涉眾傳遞到產品所有者、開發人員再到測試人員的過程中,丟失需求的機會更少。這使得BDD成為一種有效的方法,可以確保在開發和測試期間清楚地理解和考慮法規需求。

    Satterfield讓他的團隊將BDD更進一步,並實施ATDD以簡化新的開發項目。ATDD建立在BDD的基礎上,通過測試直接將每個特性與業務需求聯係起來,因此失敗的測試可以立即清晰地了解特性是如何不滿足需求的。

    當整個團隊都理解了業務需求後,它們可以以可執行規範的形式自動化,或者隻有當軟件完成了所有預期的任務時才會通過的測試。

    2.BDD眾包領域專業知識

    根據Satterfield的說法,轉向更加協作的過程使得測試人員能夠成為用戶專家,這有助於彌合業務和技術需求之間的差距。認識到測試人員對用戶體驗的獨特見解是非常有價值的。在參與軟件開發生命周期的每個人當中,測試人員可以說是以用戶的方式花費最多的時間與軟件進行交互。當消費者與您的應用程序交互以訪問健康信息或執行金融交易時,可用性變得極其重要。

    “當開發人員和測試人員在衝刺階段編寫測試用例時,他們的時間沒有被有效地利用,”Satterfield說。“在進行sprint計劃時,他們需要被帶到談判桌前,在那裏他們可以提出不可避免地會出現的問題。因為測試人員每天都在體驗你的產品的用戶流。”

    通過讓測試人員更早地參與測試,Satterfield確保了團隊第一次就得到正確的測試用例,這不僅有助於確保他們清楚地理解需求,而且還有助於他們有足夠的時間來編寫自動化腳本,並確保在發布之前進行全麵的測試覆蓋。

    ScienceSoft建議獲得領域知識是受監管行業的測試人員可以做的最重要的事情之一。測試人員必須足夠了解管理他們行業的法規,以了解哪些部分適用於他們正在測試的軟件,並確保適當的測試覆蓋率。

    除了利用測試人員的領域專業知識外,BDD和ATDD還從整個業務的利益相關者(包括監管專家、業務領導者、產品所有者和開發人員)那裏眾包領域知識。因為測試策略是在這個協作環境中討論的,BDD使得受監管的業務更容易確保正確的規則包含在測試用例設計中,不僅保證適當的測試覆蓋和法規遵從性,而且還確保軟件滿足用戶的需求。

    3.BDD提高可追溯性

    監管許可通常需要演示需求、測試和軟件工件之間的可追溯性。Syncro Medical的首席生物醫學工程師Chris Sears說,應用測試驅動開發的概念已經幫助他的團隊在整個開發生命周期中保持可追溯性。

    “通過遵循TDD,我們必須盡早編寫測試,因此它必須基於特定的需求,”Sears在一份報告中寫道博客.這在測試和需求之間創建了可跟蹤的鏈接。在實現步驟中,我們隻編寫通過測試所需的代碼。這在軟件工件和測試之間創建了一個額外的可跟蹤鏈接。結合這意味著我們將在我們的需求、測試和軟件工件之間擁有完全的可追溯性,”Sears寫道。

    BDD工具還提供了記錄自動化測試的方法,這一過程在不受監管的行業中並不總是事實上的標準。通常,自動化工程師會嚐試編寫和運行自動化腳本,這可能會使處於規範環境中的團隊回避它。

    但是由於BDD將測試用例直接與需求聯係起來,該方法為規範行業中的測試人員提供了一種記錄測試用例的有效方法。如果您在BDD中自動化測試,那麼用簡單英語編寫的測試用例將成為直接與為其編寫的自動化測試相關聯的文檔。這使得非技術涉眾很容易準確地理解每個腳本測試的目的,並快速地將測試用例與需求和結果進行比較。

    與開源自動化框架集成的工具可以通過提供所有測試活動的單一視圖來簡化這一過程。這為團隊提供了一種簡單的方法,通過確保正確地記錄測試用例來報告軟件已經滿足了每個需求。

    4.規範行業中軟件測試現代化的障礙

    使用BDD和ATDD原則在受監管的行業中進行現代化的軟件測試,可以通過提前調整利益相關者來簡化開發。這些原則還將領域知識眾包,以確保法規遵從性和積極的用戶體驗,並創建徹底的審計跟蹤。那麼缺點是什麼呢?

    Satterfield說:“在受監管的行業中,現代化軟件測試的唯一弊端是,每個人都必須被收買才能正常工作。”“你必須重新訓練測試人員以不同的方式編寫測試用例。領導層必須理解並為學習曲線留出空間,並提供適當的技術來支持它。這是一個過程變化,就像它是一種編寫測試用例的方式一樣。”

    繼續閱讀

    請登記進入
    Baidu
    map