当前位置:网站首页>Read software engineering at Google (14)
Read software engineering at Google (14)
2022-04-22 23:10:00 【InfoQ】
- read 《Software Engineering at Google》(14)—— Larger Testing
- :@Google, Microtest (small tests) Constrained in a single thread 、 Single process 、 Range of single machine , Large measurement (larger tests) Remove these constraints .
- : I write a module , I want to write test cases , Imagine a single thread scenario , Imagine the multithreading scenario , In this way, there will be more processes . This is a natural , At least before you see the small test and the big test , That's what you're actually doing . Now suddenly tell me , During the quiz , Just a single thread 、 Single process , I think it's a little simpler . Empirically , Designed and implemented in single thread mode , Or multithreading mode , Even multi process mode , The factors to be considered and the difficulty of implementation , There are obvious differences . But , During the small test, it was only in a single thread 、 Single process verification , I don't fully understand the benefits of this . The only thing I can say , That's an example of a small test. It's easy to build , It can also quickly iterate out a version . As long as there is no problem verifying the interface , Then you can reconstruct a version that supports complex scenes later . If so , I'm not sure , But now I only think of this possibility .
- : about UT General understanding of , It's just that it's small 、 It's fast , There's nothing wrong with this , I agree , I also practice like this . When verifying a complete module , This is a very common , It is also a very effective verification unit . I'll take this module , The so-called tested object , Defined as a unit , Use cases in it , I still call them UT. Now , I'm at the station , Trigger these manually UT, I expect to run fast . After work , I also want to trigger these UT, Expect them to run all night . The reason lies in , Many problems can't come out in a short time , incorrect , This is really the reason , Let's do it first . And when it comes to holidays , Especially for a seven day holiday , I expect this again UT Running all the time , At least verify , Or say , I intend to verify it , The module runs for a long time , Still in line with expectations . There are two contradictions here , One side , How to make UT Both run fast 、 Run for a long time again , Not too big , On the other hand , Why do you have to run so long , A short test , Can prove anything , Can't prove anything , A long test , How to understand can verify more problems . How can we sort out these two contradictions , I'm kind of stuck , It's like torturing yourself . In terms of experience , Run long , It just seems to meet expectations in the results , Is it necessary to UT In the design and writing of , Also with short UT Dissimilarity . Or say , Short UT A lot of long repetitions , What practical significance . Or , How big and how long UT, To make the right preparation for the long term . Finally he forced himself into the corner . For the time being, I can't get the answer that I won't get stuck in a daze .
- : Ask yourself from another angle , If the logic of a unit is clear , Verify the use case of this unit , Can also be complete and complete , So why are there more repetitions and longer validation requirements ? The question is whether , The so-called integrity and completeness , Can you really take it literally . I write complete and complete , It doesn't mean you can be complete and complete , The so-called logic is clear , What exactly is clear logic ? In this way , Looking for a model , Does it have to be a mathematical model , No matter what , You have to draw a good and complex diagram , Plus countable and enumerable use cases , Whether it is approaching or not 、 complete 、 complete . Figure out a way , We have to explore .
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204222308320305.html
边栏推荐
- 面试官:ArrayList和LinkedList在性能方面的差别,能有多大?
- STM32 内存分配解析及变量的存储位置
- ASP connect MSSQL database statement
- 如何在面试中机智的展现架构能力?附200道面试真题+100例经典架构案例拆解
- CSV Column Extract列提取
- High number | [differential calculus and application of multivariate functions] error prone problems and detailed explanation of Li Lin 880
- Unity uses newtonsoft JSON plug-in realizes the conversion of XML and JSON data
- [HCTF 2018]admin之unicode欺骗
- Detailed explanation of Gentoo system installation steps
- Shell script command results are saved to variables with line breaks
猜你喜欢

MySQL configuration adjustment: case insensitive

visio文本框输入公式

Introduction to encryption mode (ECB, CBC, PCBC, CFB, OFB, CTR)

Minio基本使用与原理

正则表达式——IP地址匹配

C add log4net log (console and file) to console application

加密模式介绍(ECB、CBC、PCBC、CFB、OFB、CTR)
![[原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定](/img/de/145c3b65d412b863cd845bb861003b.png)
[原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定
[chestnut sugar GIS] the essence of programming - (video notes)

如何使用icy进行小鼠的行为学追踪?
随机推荐
SystemVerilog 验证-测试平台编写指南学习笔记(1):数据类型
Ignition Modbus
Future source code | Professor Wu Enda's lecture: Tips for using a data centric AI approach
MySQL log retention policy: set binlog log storage days and file size limit
SystemVerilog 验证-测试平台编写指南学习笔记(2):过程语句和子程序
Introduction to padding in packet encryption (pkcs1padding / pkcs5padding / iso10126padding)
SQL Net message from client 事件产生的原因分析
一个快速追踪密切接触者的开源脚本方案
mysql索引详解
Enter a formula in the Visio text box
STM32 内存分配解析及变量的存储位置
.net 6 在退出构造函数时,不可为 null 的 属性“xxx”必须包含非 null 值。
正则表达式——IP地址匹配
Even if you study hard for 30 years, you may be far from wealth
ansible作业1
Software test (1)
VI / VIM 编辑器基本操作
[原创][开源]C# Winform DPI自适应方案,SunnyUI三步搞定
Canal usage process, deployment and installation documents
未来源码 | 吴恩达教授重磅演讲:Tips for using a data-centric AI approach