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 ...
随机推荐
- 实时的.NET程序错误监控产品Exceptionless
Exceptionless可以对ASP.NET, Web API, WebForms, WPF, Console, 和 MVC 应用提供错误监控.上传.报表服务.使用时需要在Exceptionless ...
- 记一次SQLServer的分页优化兼谈谈使用Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- static,你还敢用吗?(二)
为了压系统,昨天小组在测试环境模拟了一大批订单数据.今天上午查看记录的账单计息日志,发现了一大堆的MySqlException MySql.Data.MySqlClient.MySqlExceptio ...
- OpenSceneGraph in ActiveX by ActiveQt
OpenSceneGraph in ActiveX by ActiveQt eryar@163.com Abstract. Qt’s ActiveX and COM support allows Qt ...
- 如何快速优化手游性能问题?从UGUI优化说起
WeTest 导读 本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法. 在之前的文 ...
- hadoop2.7之Mapper/reducer源码分析
一切从示例程序开始: 示例程序 Hadoop2.7 提供的示例程序WordCount.java package org.apache.hadoop.examples; import java.io.I ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- git克隆项目到本地&&全局安装依赖项目&&安装依赖包&&启动服务
一.安装本地开发环境 1.安装本项目 在需要保存到本地的项目的文件夹,进入到文件夹里点击右键,bash here,出现下图: 2.安装依赖项目 3.安装依赖包(进入到命令行) # 安装依赖包 $ ...
- 创建APPID&&部署服务端教程
创建APPID&&部署服务端 一.创建APPID 1.打开https://console.developers.google.com ,左击顶部Project,然后左击创建项目 2.输 ...
- 【C#公共帮助类】 Utils 10年代码,最全的系统帮助类
为大家分享一下个人的一个Utils系统帮助类,可能有些现在有新的技术替代,自行修改哈~ 这个帮助类主要包含:对象转换处理 .分割字符串.截取字符串.删除最后结尾的一个逗号. 删除最后结尾的指定字符后的 ...