狠狠撸

狠狠撸Share a Scribd company logo
单元测试必知必会淘宝搜索中心恨少2010-09-06
目录背景介绍CppUnit & PyUnitsnipMateMap-Reduce单元测试2010-9-15TaobaoSearch2
敏捷软件开发( Agile software development )敏捷软件开发又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力。相对于“非敏捷”,更强调程序员团队与业务专家之间的紧密协作、面对面的沟通、频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重做为软件开发中人的作用。2010-9-15TaobaoSearch3
软件测试叁大模型2010-9-15罢补辞产补辞厂别补谤肠丑4
奥模型2010-9-15罢补辞产补辞厂别补谤肠丑5
贬模型2010-9-15罢补辞产补辞厂别补谤肠丑6
单元测试在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。单元测试的思想与方法是敏捷开发的重要组成部分。2010-9-15罢补辞产补辞厂别补谤肠丑7
单元测试的优点	1、它是一种验证行为。程序中的每一项功能都是测试来验证它的正确性。它为以后的开发提供支持。就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不用担心这个过程中会破坏重要的东西。而且它为代码的重构提供了保障。这样,我们就可以更自由的对程序进行改进。	2、它是一种设计行为。 编写单元测试将使我们从调用者观察、思考。特别是先写测试(test-first),迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦合。	3、它是一种编写文档的行为。 单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这份文档是可编译、可运行的,并且它保持最新,永远与代码同步。	4、它具有回归性。 自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的快速运行测试。2010-9-15罢补辞产补辞厂别补谤肠丑8
单元测试的优点(我的理解)1、有利于设计紧凑正交的接口。2、有利于代码重构。3、有利于提高代码质量。4、有利于提高自动化水平。2010-9-15罢补辞产补辞厂别补谤肠丑9
不同测试效率比较互这些图表摘自<<实用软件度量>>(Capers Jones,McGraw-Hill 1991),它列出了准备测试,执行测试,和修改缺陷所花费的时间(以一个功能点为基准).2010-9-15TaobaoSearch10
测试驱动开发测试驱动开发(Test-driven development)是现代计算机软件开发方法的一种。利用测试来驱动软件程序的设计和实现。测试驱动开始流行于20世纪90年代。测试驱动开发是极限编程中倡导的程序开发方法,方法主要是先写测试程序,然后再编码使其通过测试。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。2010-9-15TaobaoSearch11
互联网软件开发特点互联网软件开发实际是 SAAS(software as a service),即软件作为一种服务来提供。互联网软件开发明显的特点是所谓“小步快跑。	1、软件开发的周期短,节奏快。	2、分特性上线。先上线一些功能,然后再去改进。	3、系统优化要大于大规模的重构,不会动不动就推翻,从头再来。	4、对 bug的容忍度比传统的软。总之一句话,先圈住用户才是王道。在互联网领域,敏捷开发和单元测试具有非凡的价值。2010-9-15TaobaoSearch12
JUnitJUnit是一个Java语言的单元测试 框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中为最成功的一个。JUnit同Eclipse等主流Java IDE紧密结合,易于使用。Junit最新版本是4.x,同3.x相比改进比较多。2010-9-15TaobaoSearch13
xUnit单元测试一般原理xUnit测试框架种类繁多,不过它们都遵循共同的理念。	1、setUp和tearDown函数。用于为每个测试方法做准备工作和收尾工作。	2、提供一系列的断言函数。	3、fail和error。fail是由assert*函数抛出异常导致的。除此之外就都是error了。	4、component模式构建测试树。test suite包含testcase,同时也可以被别的test suite包含。2010-9-15TaobaoSearch14
C++单元测试		C++作为一种传统的程序设计语言,缺乏快速开发的能力,但是传统软件开发引入单元测试也是大有好处的。由Michael Feathers开发的CppUnit为广大C++程序员带来了福音。CppUnit通过宏简化了编写测试用例的过程。iSearch源码中有一个test目录,里面正是使用CppUnit编写了大量的单元测试用例。2010-9-15TaobaoSearch15
CppUnit单元测试小示例class sample_test : public CppUnit::TestFixture{        CPPUNIT_TEST_SUITE(sample_test);          CPPUNIT_TEST(testSwap);          CPPUNIT_TEST(testFind);         CPPUNIT_TEST_SUITE_END();         public:        void setUp()        {                m_str1 = "Hello, world";                m_str2 = "Hi, cppunit";        }        void tearDown(){        }        void testSwap()        {                std::string str1 = m_str1;                std::string str2 = m_str2;                m_str1.swap(m_str2);                CPPUNIT_ASSERT(m_str1 == str2);                CPPUNIT_ASSERT(m_str2 == str1);        }        protected:        std::string      m_str1;        std::string      m_str2;};CPPUNIT_TEST_SUITE_REGISTRATION( sample_test );2010-9-15TaobaoSearch16
int main(){      //CppUnit支持多种UI,包括MFC和Qt      //对于自动化测试,还是文本UI最有用CppUnit::TextUi::TestRunner runner;	 CppUnit::TestFactoryRegistry &registry = 			CppUnit::TestFactoryRegistry::getRegistry(); runner.addTest( registry.makeTest() ); runner.run(); 	return 0;}2010-9-15TaobaoSearch17
2010-9-15TaobaoSearch18
一个小技巧测试用例类中的每个方法运行之前都会运行setUp和tearDown函数,有时这种方式并不好。JUnit 4.0添加BeforeClass,AfterClass两个注解来注释只运行一次的函数。CppUnit可以在测试用例类中添加一个静态变量作为标志,确保setUp和tearDown中的工作只做一次。2010-9-15TaobaoSearch19
Python单元测试PyUnit是Python单元测试框架标准,它基于JUnit。2.1版本以上的Python 标准库都包含PyUnit。2010-9-15TaobaoSearch20
Python单元测试小示例import unittest#添加被测试模块目录所在路径sys.path.append('../')class CheckSizeTestCase(unittest.TestCase):        def setUp(self):                pass        def testCheckSize(self):self.assertEqual(utils.checkSize(3, 2, 0.6), True)self.assertEqual(utils.checkSize(3, 2, 0.4), False)self.assertEqual(utils.checkSize(1, 2, 0.6), True)self.assertEqual(utils.checkSize(1, 2, 0.4), False)self.assertEqual(utils.checkSize(10, 3, 4), True)self.assertEqual(utils.checkSize(10, 3, 2), False)        def tearDown(self):                pass2010-9-15TaobaoSearch21
def suite():        suite = unittest.TestSuite()suite.addTest(CheckSizeTestCase())suite.addTest(CheckDirSizeTestCase())suite.addTest(IsEmptyDirTestCase())        return suite;if __name__ == "__main__":unittest.main()2010-9-15TaobaoSearch22
痴颈尘神器—蝉苍颈辫惭补迟别蝉苍颈辫惭补迟别是一个痴颈尘插件,用于生成代码模板。在编写单元测试用例时也小有帮助。蝉苍颈辫惭补迟别支持目前所有主流语言,通过蝉苍颈辫辫别迟蝉定义模板规则,很容易添加自定义规则。2010-9-15罢补辞产补辞厂别补谤肠丑23
PyUnit模板snippet tc        class ${1} (unittest.TestCase):                def setUp(self):                        ${2:pass}                def test${3}(self):                        ${4:pass}                def tearDown(self):                        ${5:pass}2010-9-15TaobaoSearch24
CppUnit模板snippet cu        class ${1:testClass} : public CppUnit::TestFixture        {                CPPUNIT_TEST_SUITE(${2});                CPPUNIT_TEST(${3});                CPPUNIT_TEST_SUITE_END();        public:                void setUp()                {                }                void tearDown()                {                }                void ${4:testMethod}()                {                        CPPUNIT_ASSERT_EQUAL()                }        };         //添加用例        CPPUNIT_TEST_SUITE_REGISTRATION( ${5:testClass} );2010-9-15TaobaoSearch25
Map-Reduce单元测试		Map-Reduce的Map和Reduce函数,根据输入记录,collect输出记录,对它们分别进行测试是很容易的。使用Mockito模拟对象测试框架做单元测试。Mockito通过verify来断言。比如测试WordCount的map函数,输入”hello hello”,collect应该会得到两个<”hello”, 1>记录,因此断言:verify(output, times(2)).collect(new Text("hello"), new IntWritable(1));2010-9-15TaobaoSearch26
Map-Reduce单元测试public class TestMockito {	@Test	public void processValidRecord() throws IOException {WordCount.Mapmapper = new WordCount.Map();OutputCollector<Text, IntWritable> output = 			mock(OutputCollector.class);		Text value = new Text("hello hello");		mapper.map(null, value, output, null);		verify(output, times(2)).collect(new Text("hello"), new IntWritable(1));	}}2010-9-15TaobaoSearch27
2010-9-15TaobaoSearch28
使用MRUnitMRUnit是Cloudera为Map-Reduce提供的一个专业测试框架,功能比Mockito更为强大。MRUnit jar包已经包含在Cloudera提供的Hadoop发行版中。2010-9-15TaobaoSearch29
public class TestMRunit extends TestCase {	List<Pair<Text, IntWritable>> out = null;	private WordCount.Mapmapper;	private MapDriver driver;	@Before	public void setUp() {mapper = new WordCount.Map();		driver = new MapDriver(mapper);	}	@Test	public void testIdentityMapper() {		try {			out = driver			.withInput(new LongWritable(1), new Text(“hello world”)).run();		} catch (IOExceptionex) {			}		List<Pair<Text, IntWritable>> expected = new ArrayList<Pair<Text, IntWritable>>();expected.add(new Pair<Text, IntWritable>(new Text("hello"), new IntWritable(1)));expected.add(new Pair<Text, IntWritable>(new Text("world"), new IntWritable(1)));assertListEquals(expected, out);	}}2010-9-15TaobaoSearch30
蚕&补尘辫;础恨少贰尘补颈濒:丑别苍蝉丑补辞蔼迟补辞产补辞.肠辞尘

More Related Content

What's hot (20)

July 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKIJuly 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKI
Suki Huang
?
Data structure week 1
Data structure week 1Data structure week 1
Data structure week 1
karmuhtam
?
One definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим житьOne definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим жить
Platonov Sergey
?
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ code
Andrey Karpov
?
Objective-C Runtime overview
Objective-C Runtime overviewObjective-C Runtime overview
Objective-C Runtime overview
Fantageek
?
Kirk Shoop, Reactive programming in C++
Kirk Shoop, Reactive programming in C++Kirk Shoop, Reactive programming in C++
Kirk Shoop, Reactive programming in C++
Sergey Platonov
?
Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations
DVClub
?
C++17 now
C++17 nowC++17 now
C++17 now
corehard_by
?
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasaLaporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Deprilana Ego Prakasa
?
Of complicacy of programming, or won't C# save us?
Of complicacy of programming, or won't C# save us?Of complicacy of programming, or won't C# save us?
Of complicacy of programming, or won't C# save us?
PVS-Studio
?
Checking the Qt 5 Framework
Checking the Qt 5 FrameworkChecking the Qt 5 Framework
Checking the Qt 5 Framework
Andrey Karpov
?
Virtual Functions
Virtual FunctionsVirtual Functions
Virtual Functions
Roman Okolovich
?
From Monolith to Modules - breaking apart a one size fits all product into mo...
From Monolith to Modules - breaking apart a one size fits all product into mo...From Monolith to Modules - breaking apart a one size fits all product into mo...
From Monolith to Modules - breaking apart a one size fits all product into mo...
Robert Munteanu
?
Golang dot-testing-lite
Golang dot-testing-liteGolang dot-testing-lite
Golang dot-testing-lite
Richárd Kovács
?
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Gor Nishanov,  C++ Coroutines – a negative overhead abstractionGor Nishanov,  C++ Coroutines – a negative overhead abstraction
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Sergey Platonov
?
Алексей Кутумов, Вектор с нуля
Алексей Кутумов, Вектор с нуляАлексей Кутумов, Вектор с нуля
Алексей Кутумов, Вектор с нуля
Sergey Platonov
?
TensorFlow local Python XLA client
TensorFlow local Python XLA clientTensorFlow local Python XLA client
TensorFlow local Python XLA client
Mr. Vengineer
?
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
Andrey Karpov
?
Juan josefumeroarray14
Juan josefumeroarray14Juan josefumeroarray14
Juan josefumeroarray14
Juan Fumero
?
Writing good std::future&lt;c++>
Writing good std::future&lt;c++>Writing good std::future&lt;c++>
Writing good std::future&lt;c++>
Anton Bikineev
?
July 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKIJuly 2015 Android Taipei - Anti-Decompiler by SUKI
July 2015 Android Taipei - Anti-Decompiler by SUKI
Suki Huang
?
Data structure week 1
Data structure week 1Data structure week 1
Data structure week 1
karmuhtam
?
One definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим житьOne definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим жить
Platonov Sergey
?
PVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ codePVS-Studio advertisement - static analysis of C/C++ code
PVS-Studio advertisement - static analysis of C/C++ code
Andrey Karpov
?
Objective-C Runtime overview
Objective-C Runtime overviewObjective-C Runtime overview
Objective-C Runtime overview
Fantageek
?
Kirk Shoop, Reactive programming in C++
Kirk Shoop, Reactive programming in C++Kirk Shoop, Reactive programming in C++
Kirk Shoop, Reactive programming in C++
Sergey Platonov
?
Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations Architecture for Massively Parallel HDL Simulations
Architecture for Massively Parallel HDL Simulations
DVClub
?
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasaLaporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Laporan ai modul 2-if b 2014-14102055-deprilana ego prakasa
Deprilana Ego Prakasa
?
Of complicacy of programming, or won't C# save us?
Of complicacy of programming, or won't C# save us?Of complicacy of programming, or won't C# save us?
Of complicacy of programming, or won't C# save us?
PVS-Studio
?
Checking the Qt 5 Framework
Checking the Qt 5 FrameworkChecking the Qt 5 Framework
Checking the Qt 5 Framework
Andrey Karpov
?
From Monolith to Modules - breaking apart a one size fits all product into mo...
From Monolith to Modules - breaking apart a one size fits all product into mo...From Monolith to Modules - breaking apart a one size fits all product into mo...
From Monolith to Modules - breaking apart a one size fits all product into mo...
Robert Munteanu
?
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Gor Nishanov,  C++ Coroutines – a negative overhead abstractionGor Nishanov,  C++ Coroutines – a negative overhead abstraction
Gor Nishanov, C++ Coroutines – a negative overhead abstraction
Sergey Platonov
?
Алексей Кутумов, Вектор с нуля
Алексей Кутумов, Вектор с нуляАлексей Кутумов, Вектор с нуля
Алексей Кутумов, Вектор с нуля
Sergey Platonov
?
TensorFlow local Python XLA client
TensorFlow local Python XLA clientTensorFlow local Python XLA client
TensorFlow local Python XLA client
Mr. Vengineer
?
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
PVS-Studio 5.00, a solution for developers of modern resource-intensive appl...
Andrey Karpov
?
Juan josefumeroarray14
Juan josefumeroarray14Juan josefumeroarray14
Juan josefumeroarray14
Juan Fumero
?
Writing good std::future&lt;c++>
Writing good std::future&lt;c++>Writing good std::future&lt;c++>
Writing good std::future&lt;c++>
Anton Bikineev
?

Viewers also liked (8)

Internet
InternetInternet
Internet
Jordi Gómez Masdeu
?
Org change
Org changeOrg change
Org change
Rosemarie Rung
?
笔别谤颈蹿è谤颈肠蝉
笔别谤颈蹿è谤颈肠蝉笔别谤颈蹿è谤颈肠蝉
笔别谤颈蹿è谤颈肠蝉
Jordi Gómez Masdeu
?
Sales Idol
Sales IdolSales Idol
Sales Idol
davidartplus
?
Nyc hadoop meetup introduction to h base
Nyc hadoop meetup   introduction to h baseNyc hadoop meetup   introduction to h base
Nyc hadoop meetup introduction to h base
智杰 付
?
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
?
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
?

Similar to 单元测试必知必会 (20)

Story of static code analyzer development
Story of static code analyzer developmentStory of static code analyzer development
Story of static code analyzer development
Andrey Karpov
?
Introduction to Unit Testing with PHPUnit
Introduction to Unit Testing with PHPUnitIntroduction to Unit Testing with PHPUnit
Introduction to Unit Testing with PHPUnit
Michelangelo van Dam
?
PHPUnit testing to Zend_Test
PHPUnit testing to Zend_TestPHPUnit testing to Zend_Test
PHPUnit testing to Zend_Test
Michelangelo van Dam
?
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Comunidade NetPonto
?
Sql xp 09
Sql xp 09Sql xp 09
Sql xp 09
Niit Care
?
[232] TensorRT? ??? ??? Inference ???
[232] TensorRT? ??? ??? Inference ???[232] TensorRT? ??? ??? Inference ???
[232] TensorRT? ??? ??? Inference ???
NAVER D2
?
[232]TensorRT? ??? ??? Inference ???
[232]TensorRT? ??? ??? Inference ???[232]TensorRT? ??? ??? Inference ???
[232]TensorRT? ??? ??? Inference ???
NAVER D2
?
Test api
Test apiTest api
Test api
Ivo Manolov
?
Tdd with python unittest for embedded c
Tdd with python unittest for embedded cTdd with python unittest for embedded c
Tdd with python unittest for embedded c
Benux Wei
?
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventures
Frits Van Der Holst
?
Unit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative studyUnit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative study
IRJET Journal
?
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R
Vivian S. Zhang
?
SoCal Code Camp 2015: An introduction to Java 8
SoCal Code Camp 2015: An introduction to Java 8SoCal Code Camp 2015: An introduction to Java 8
SoCal Code Camp 2015: An introduction to Java 8
Chaitanya Ganoo
?
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
LogeekNightUkraine
?
report
reportreport
report
Quickoffice Test
?
Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会
Mr. Vengineer
?
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
KAI CHU CHUNG
?
C# 6.0 Preview
C# 6.0 PreviewC# 6.0 Preview
C# 6.0 Preview
Fujio Kojima
?
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and Friends
Yun Zhi Lin
?
Cross Platform App Development with C++
Cross Platform App Development with C++Cross Platform App Development with C++
Cross Platform App Development with C++
Joan Puig Sanz
?
Story of static code analyzer development
Story of static code analyzer developmentStory of static code analyzer development
Story of static code analyzer development
Andrey Karpov
?
Introduction to Unit Testing with PHPUnit
Introduction to Unit Testing with PHPUnitIntroduction to Unit Testing with PHPUnit
Introduction to Unit Testing with PHPUnit
Michelangelo van Dam
?
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Testes? Mas isso n?o aumenta o tempo de projecto? N?o quero...
Comunidade NetPonto
?
[232] TensorRT? ??? ??? Inference ???
[232] TensorRT? ??? ??? Inference ???[232] TensorRT? ??? ??? Inference ???
[232] TensorRT? ??? ??? Inference ???
NAVER D2
?
[232]TensorRT? ??? ??? Inference ???
[232]TensorRT? ??? ??? Inference ???[232]TensorRT? ??? ??? Inference ???
[232]TensorRT? ??? ??? Inference ???
NAVER D2
?
Tdd with python unittest for embedded c
Tdd with python unittest for embedded cTdd with python unittest for embedded c
Tdd with python unittest for embedded c
Benux Wei
?
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventures
Frits Van Der Holst
?
Unit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative studyUnit Testing Frameworks: A comparative study
Unit Testing Frameworks: A comparative study
IRJET Journal
?
R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R R workshop xx -- Parallel Computing with R
R workshop xx -- Parallel Computing with R
Vivian S. Zhang
?
SoCal Code Camp 2015: An introduction to Java 8
SoCal Code Camp 2015: An introduction to Java 8SoCal Code Camp 2015: An introduction to Java 8
SoCal Code Camp 2015: An introduction to Java 8
Chaitanya Ganoo
?
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
Vladymyr Bahrii Understanding polymorphism in C++ 16.11.17
LogeekNightUkraine
?
Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会Facebook Glow Compiler のソースコードをグダグダ語る会
Facebook Glow Compiler のソースコードをグダグダ語る会
Mr. Vengineer
?
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰如何透過 Go-kit 快速搭建微服務架構應用程式實戰
如何透過 Go-kit 快速搭建微服務架構應用程式實戰
KAI CHU CHUNG
?
Dropwizard and Friends
Dropwizard and FriendsDropwizard and Friends
Dropwizard and Friends
Yun Zhi Lin
?
Cross Platform App Development with C++
Cross Platform App Development with C++Cross Platform App Development with C++
Cross Platform App Development with C++
Joan Puig Sanz
?

单元测试必知必会