Recent years have brought many changes to software testing practices that will define 2018, such as DevOps adoption, combined automated and manual testing, and more.
近年的軟件測試實踐上發(fā)生的很多變化會決定2018年的趨勢蹲蒲,比如DevOps的使用,自動化和手工測試的融合等。
The software testing community has experienced the exciting year of 2017 with many trends taking shape. Amid both hypes and actual applications of artificial intelligence (AI) and automation, many developments and challenges in software testing through the year deserve our attention. They include a continuing trend in adoption of DevOps and test automation practices and tools, increasing test automation for web applications along with new and more powerful test automation tools introduced to the market, remaining difficulties in managing test data and environments, shortening release schedules, and the lack of time for testing.
軟件測試社區(qū)經(jīng)歷了2017年激動人心的一年, 許多趨勢正在形成雌澄。在人工智能 (AI) 、自動化的炒作及應用中, 也有許多軟件測試中的發(fā)展和挑戰(zhàn)值得我們關注垦巴。它們包括以下持續(xù)上升的趨勢:DevOps的應用睦擂、測試自動化實踐和工具, 更多新的、更強大的測試自動化工具在web自動化測試的使用募狂。同時我們在測試數(shù)據(jù)和環(huán)境管理, 縮短發(fā)布時間表, 以及缺少測試時間等方面還存在很多困難。
In reference to the state of software testing in 2017, we here make bold predictions of trends of software testing for 2018 and beyond.
參考2017年的軟件測試業(yè)現(xiàn)狀, 這里對2018和以后的軟件測試趨勢進行以下大膽的預測魏保。
- Increasing Adoption of DevOps
DevOps is a set of practices that aim to reduce the time from development (Dev) to operation (Ops) while ensuring the quality of software. According to Google Trends, as shown in the figure below, DevOps has gained an overwhelming interest over the past five years. This trend likely continues in the next few years. We will see more organizations employing DevOps practices more fully. As DevOps practices emphasize on automation and integration, more practices and tools are introduced to support automated testing and continuous integrations.
1. 越來越多地采用 DevOps
DevOps是一組旨在在確保軟件質(zhì)量的同時縮短開發(fā) (dev) 到操作 (Ops) 的時間的實踐熬尺。根據(jù)Google trend, 如下圖所示, DevOps 在過去五年中獲得了顯著的關注,這一趨勢可能在未來幾年還將繼續(xù)谓罗。我們將看到更多的組織更充分地使用 DevOps 實踐粱哼。隨著 DevOps 實踐強調(diào)自動化和集成, 將引入更多的實踐和工具來支持自動化測試和持續(xù)集成。
- More Utilization of Test Automation
Although test automation is an essential part of DevOps, it currently only accounts for less than 20% of software testing activities according to World Quality Report 2017 - 2018. Organizations mainly focus on functional UI and regression testing.
Test automation is seen as the main approach to shortening the testing and delivery time. The capability to integrate with DevOps toolchains becomes a must-have feature of test automation tools. Most major open-source and free tools such as Selenium and Katalon and commercial tools as Ranorex and TestComplete now support integration with many DevOps toolchains like Jenkins, GIT, and JIRA.
2. 自動化測試的更多應用
盡管測試自動化是 DevOps 的一個重要部分, 但根據(jù) 2017-2018 的《世界質(zhì)量報告》, 它只在軟件測試活動占比不到20% 檩咱。組織更多關注在功能性 UI 和回歸測試上揭措。 一般認為自動化測試是縮短測試和交付時間的主要方法。與 DevOps 工具鏈集成的能力成為測試自動化工具的一個必須具備的功能刻蚯。大多數(shù)主流開源和免費工具如selenium和 Katalon, 以及商業(yè)工具, 如 Ranorex 和 TestComplete 現(xiàn)在支持集成與許多 DevOps 工具鏈如Jenkins, GIT 和 JIRA绊含。
- Combining Manual and Automated Testing
Although test automation is a hot keyword today, manual testing is still dominating in the QA and testing industry. This state of software testing makes it hard to address challenges in ever shortening delivery cycles and complex test environments and data. Combining manual and automated testing practices and tools is likely a continuing trend in the next few years. Right testing strategies are those that take advantages of both manual and automated approaches.
3. 手工測試和自動化測試的融合
盡管測試自動化是當今的熱門, 但在 QA 和測試行業(yè), 手動測試仍處于主導地位。這種軟件測試的狀態(tài)使得應對縮短交付周期炊汹、復雜的測試環(huán)境和數(shù)據(jù)方面的挑戰(zhàn)很困難躬充。融合手動和自動化測試實踐和工具可能是未來幾年的持續(xù)趨勢。正確的測試策略是同時利用手工和自動化方法的優(yōu)點讨便。
- Intelligent Test Automation and Analytics
AI and machine learning techniques have been applied to software development to improve the productivity of project teams and quality of software. Given recent advancements and growing applications of AI and ML in practice, there will be more intelligent test automation technologies and tools that are smarter in generating test cases, test scripts, test data, and in maintaining and reusing test scripts. They would also bring advancements to formulating test scenarios, predicting application behaviors, and predicting areas and levels of test. Intelligent testing tools will need to offer smart analytics to help better diagnose faults and visualize test results and overall product quality using multi-source data.
Refer to the Dzone report for the Best 10 automation testing tools that cannot be missed in 2018.
4. 智能自動化測試及分析
AI和機器學習技術(shù)已應用到軟件開發(fā)中來提高項目團隊的生產(chǎn)率和軟件質(zhì)量充甚。鑒于人工智能和 機器學習 在實踐中的最新進展和越來越多的應用, 將會有更多的智能測試自動化技術(shù)和工具, 它們在生成測試用例、測試腳本霸褒、測試數(shù)據(jù)以及維護和重用測試腳本方面更聰明伴找。它們還將為制定測試方案、預測應用程序行為和預測測試領域和水平帶來進步废菱。智能測試工具需要提供智能分析, 以幫助更好地診斷故障, 并使用多源數(shù)據(jù)來使測試結(jié)果和整體產(chǎn)品質(zhì)量可視化技矮。 請參閱 Dzone 報告:2018不能錯過的十大自動化測試工具
- Increasing Mobile Test Automation
The utilization of test automation in software projects is now at a low level. For mobile test automation, it is even lower. There is a current lack of right methods, tools, and devices to perform automated testing of mobile applications. The increasing shift away from desktop and web towards mobile applications along with ever shortening time-to-market requires software organizations to increase the application of test automation for mobile applications. Emerging mobile test platforms and tools such as Kobiton and Sauce Labs may offer advanced and right capabilities to make mobile test automation more executable and affordable.
5. 移動端自動化測試的增長
軟件項目中測試自動化的使用現(xiàn)在處于低水平。對于移動測試自動化來說甚至更低殊轴。當前缺少對移動應用程序進行自動測試的正確方法衰倦、工具和設備。隨著越來越多的桌面和網(wǎng)絡應用轉(zhuǎn)向移動應用且要求更短的上市時間, 軟件組織需要增加對移動應用程序的測試自動化的應用梳凛。新興的移動測試平臺和工具, 如 Kobiton 和Sauce Labs, 可能提供先進和正確的能力, 使移動測試自動化更可執(zhí)行和負擔得起耿币。
- Shortening Delivery Cycles
Rapid changes in technologies, platforms, and devices pressure software development teams to develop, test, integrate, and deliver faster and more frequently. Software needs to be delivered and deployed daily instead of monthly or weekly. Software organizations will invest more in improving their development and delivery processes and methods as well as employing a right set of DevOps tools. This demand will derive the growth of DevOps practices and tools which leads to further utilization of test automation in QA and testing.
6. 更短的交付周期
技術(shù)、平臺和設備的快速變化迫使軟件開發(fā)團隊開發(fā)韧拒、測試淹接、集成和交付速度要更快十性、更頻繁。軟件需要每天交付和部署, 而不是每月或每周塑悼。軟件組織將更多地投資于改進其開發(fā)和交付過程和方法以及使用一套正確的 DevOps 工具劲适。這種需求將產(chǎn)生 DevOps 實踐和工具的增長, 從而進一步利用測試自動化進行 QA 和測試。
- API and Services Test Automation
The main utilization of test automation now focuses on UI testing. A majority of API and services testing is currently performed by developers manually. The trend will be an increasing application of automating API and services testing processes, at a greater pace than automating the UI testing process. Independent testers who are equipped with intelligent and easy-to-use tools will be responsible for API and services testing, helping to reduce time-to-market while improving software quality.
7.API 和服務測試自動化
測試自動化的主要用途現(xiàn)在側(cè)重于 UI 測試厢蒜。大多數(shù) API 和服務測試當前由開發(fā)人員手動執(zhí)行霞势。一個大趨勢是自動化 API 和服務測試會更多地應用, 它比自動化 UI 測試過程的速度更快。擁有智能斑鸦、易用工具的獨立測試人員將會負責 API 和服務測試, 幫助減少市場時間, 同時提高軟件質(zhì)量愕贡。
- Integration
To support smart testing and analytics, data has to be gathered from different sources and phases in software development, such as requirements management systems, change control systems, task management systems, and test environments. We will see test automation and management tools offering features to integrate with various ALM toolsets and test environments. This integration allows smarter decision-making concerning software testing and quality.
8.集成
為了支持智能測試和分析, 必須從軟件開發(fā)的不同來源和階段收集數(shù)據(jù), 例如需求管理系統(tǒng)、變更控制系統(tǒng)巷屿、任務管理系統(tǒng)和測試環(huán)境固以。我們將看到測試自動化和管理工具提供的功能, 以集成各種 ALM 工具集和測試環(huán)境。這種集成允許在軟件測試和質(zhì)量方面進行更明智的決策嘱巾。
This article offers the bold predictions of trends in the next few years. As any prediction can be wrong, the trends here may suggest opportunities and challenges for us in the software industry.
這篇文章提供了對未來幾年趨勢的大膽預測憨琳。由于任何預測都可能是錯誤的, 這里的趨勢可能給我們在軟件行業(yè)帶來機遇和挑戰(zhàn)。