Building the Testing Pipeline
This essay is a part of my knowledge sharing session slides which are shared for development and quality team. I want to share some contents here and hope that may trigger some brainstorming or thoughts about how could we do better test automation by development team in the software development cycle.
The related sessions:
Quick Index
- Understanding tests better
- Test Strategy
- Catch defect as quickly as possible
- The V Model of Software Development
- Unit Testing
- Component Testing
- System Testing
- Ideal Automated Testing Pyramid
- Testing goes to fragile
- Assembling a Test Pipeline
- Continuous Integration
- Defect Prevention before Defect Detection
- Cause-and-Effect Diagram for error prevention
Understanding tests better

Test Strategy
One of the key decisions is what kinds of tests should be automated and which approach to testing should be used for manual test.

Catch defect as quickly as possible

The V Model of Software Development

Unit Testing
Unit testing can be on little things like methods/functions or bigger things like modules and classes.

Component Testing
Component testing are used for testing packages, individual executables or subsystems.

System Testing
System testing is done at the level of the whole product and can include a range of system sizes:
individual systems or integrated workflows through multiple systems that have to interact.

Ideal Automated Testing Pyramid

Testing goes to fragile

Assembling a Test Pipeline

Continuous Integration

Defect Prevention before Defect Detection
The ultimate goal of any development process is to build the right product of high quality and to build it with minimum waste.
Defect Prevention techniques address how to prevent “error” before it is injected:
- Root Cause Analysis of problem
- Education and training
- Software process maturity and improvement
Defect Detection techniques address how to find the faults:
- Testing
- Reviews and inspection
- Formal verification
Cause-and-Effect Diagram for error prevention

References
- Unit Testing
- Build the Testing Pipeline
- Automating tests vs. Test Automation
- Gmail测试工程经理Ankit Mehta的访谈
- Patterns & Practices Acceptance Test Engineering Guide
- Continuous Integration is backed by several important principles and practices
- Continuous Integration
- What TDD Is and Is Not
- 7 Deadly Sins of Automated Software Testing
- How Is Automation Return-On-Investment (ROI) Calculated?
- Continuous Delivery in a nutshell
- Testing WPF Applications - TestComplete
- Continuous Delivery: Anatomy of the Deployment Pipeline
- Continuous integration is about keeping it all together
- YAGNI - You Aint Gonna Need It
Building the Testing Pipeline的更多相关文章
- Unit Testing with NSubstitute
These are the contents of my training session about unit testing, and also have some introductions a ...
- Reading Notes of Acceptance Test Engineering Guide
The Acceptance Test Engineering Guide will provide guidance for technology stakeholders (developers, ...
- Java Unit Testing - JUnit & TestNG
转自https://www3.ntu.edu.sg/home/ehchua/programming/java/JavaUnitTesting.html yet another insignifican ...
- Tomcat源码分析 (四)----- Pipeline和Valve
在 Tomcat源码分析 (二)----- Tomcat整体架构及组件 中我们简单分析了一下Pipeline和Valve,并给出了整体的结构图.而这一节,我们将详细分析Tomcat里面的源码. Val ...
- 《Continuous Delivery》 Notes 1: The problem of delivering software
What is "Deployment pipeline"? A deployment pipeline is an automated implementation of you ...
- Go 语言相关的优秀框架,库及软件列表
If you see a package or project here that is no longer maintained or is not a good fit, please submi ...
- 50+ Useful Docker Tools
As containers take root, dozens of tools have sprung up to support them. Check out your options for ...
- 重磅开源 KSQL:用于 Apache Kafka 的流数据 SQL 引擎 2017.8.29
Kafka 的作者 Neha Narkhede 在 Confluent 上发表了一篇博文,介绍了Kafka 新引入的KSQL 引擎——一个基于流的SQL.推出KSQL 是为了降低流式处理的门槛,为处理 ...
- Research Guide: Pruning Techniques for Neural Networks
Research Guide: Pruning Techniques for Neural Networks 2019-11-15 20:16:54 Original: https://heartbe ...
随机推荐
- Vagrant 基础全面解析
这篇 Vagrant 入门文章将带你创建一个 Vagrant 项目,这个过程将会用到 Vagrant 所提供的主要基本特性.如果想了解 Vagrant 能为你带来哪些好处,可以阅读 Vagrant 官 ...
- UWP 律师查询 MVVM
APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...
- .NET 串口通信
这段时间做了一个和硬件设备通信的小项目,涉及到扫描头.输送线.称重机.贴标机等硬件.和各设备之间通信使用的是串口或网络(Socket)的方式.扫描头和贴标机使用的网络通信,输送线和称重机使用的是串口通 ...
- MVVM设计模式和WPF中的实现(四)事件绑定
MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...
- C++ std::set
std::set template < class T, // set::key_type/value_type class Compare = less<T>, // set::k ...
- android http 抓包
有时候想开发的时候想看APP发出的http请求和响应是什么,这就需要抓包了,这可以得到一些不为人知的api,比如还可以干些“坏事”... 需要工具: Fiddler2 抓包(点击下载) Android ...
- 23种设计模式--单例模式-Singleton
一.单例模式的介绍 单例模式简单说就是掌握系统的至高点,在程序中只实例化一次,这样就是单例模式,在系统比如说你是该系统的登录的第多少人,还有数据库的连接池等地方会使用,单例模式是最简单,最常用的模式之 ...
- JS图片上传预览插件制作(兼容到IE6)
其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...
- 用WebRequest +HtmlAgilityPack 从外网抓取数据到本地
相信大家对于WebRequest 并不陌生,我们在C#中发请求的方式,就是创建一个WebRequest .那么如果我们想发一个请求到外网,比如国内上不了的一些网站,那么该怎么做呢? 其实WebRequ ...
- Node.js入门(一)
一.Node.js本质上是js的运行环境. 二.可以解析js代码(没有浏览器安全级的限制): 提供系统级的API:1.文件的读写 2.进程的管理 3.网络通信 三.可以关注的四个网站: 1.https ...