- Mastering Software Testing with JUnit 5
- Boni García
- 428字
- 2021-07-02 15:34:25
Testing types
There are two main types to carrying out software testing:
- Manual testing: This is the process of assessing the SUT is done by a human, typically a software engineer or the final consumer. In this type of testing, we can find the so-called exploratory testing, which is a type of manual testing in which human testers evaluate the system by investigating and freely evaluating the system using its personal perception.
- Automated testing: This is the process of assessing the SUT in which the testing process (test execution, reporting, and so on) is carried out with special software and infrastructure for testing. Elfriede Dustin, in her book Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality (2009), defined Automated Software Testing (AST) as the:
The main benefits of AST are: anticipated cost savings, shortened test duration, heightened thoroughness of the tests performed, improvement of test accuracy, improvement of result reporting as well as statistical processing, and subsequent reporting.
AST is most effective when implemented within a framework. Testing frameworks may be defined as a set of abstract concepts, processes, procedures and environments in which automated tests will be designed, created, and implemented. This framework definition includes the physical structures used for test creation and implementation, as well as the logical interactions among those components.
Strictly speaking, that definition of framework is not very far from what we can understand by library. In order to make the difference clearer, consider the following quote from the well-known software engineering guru Martin Folwer:

Frameworks are becoming more and more important in modern software development. They provide a capability highly desired in software-intensive systems: reusability. This way, large applications will end up consisting of layers of frameworks that cooperate with each other.
- Python機器學習:數據分析與評分卡建模(微課版)
- 大學計算機應用基礎實踐教程
- PHP程序設計(慕課版)
- 零基礎學Scratch少兒編程:小學課本中的Scratch創意編程
- Three.js開發指南:基于WebGL和HTML5在網頁上渲染3D圖形和動畫(原書第3版)
- Hands-On JavaScript High Performance
- Interactive Applications Using Matplotlib
- Hands-On Functional Programming with TypeScript
- Service Mesh實戰:基于Linkerd和Kubernetes的微服務實踐
- 編程改變生活:用Python提升你的能力(進階篇·微課視頻版)
- Building Dynamics CRM 2015 Dashboards with Power BI
- 現代C:概念剖析和編程實踐
- 多媒體技術及應用
- Java Web入門很輕松(微課超值版)
- 歐姆龍PLC編程指令與梯形圖快速入門