fbpx

[email protected]

购物车

 查看订单

  • 我的帐户
东东购 | EasternEast
  • 中文书店
    • 畅销排行榜
      • 小说 畅销榜
      • 童书 畅销榜
      • 外语畅销榜
      • 管理畅销榜
      • 法律畅销榜
      • 青春文学畅销榜
    • 热门分类
      • 社会小说
      • 成功/励志 畅销榜
      • 人物传记
      • 大陆原创
      • 绘本童书
      • 影视小说
    • 文学推荐
      • 文集
      • 戏剧
      • 纪实文学
      • 名家作品
      • 民间文学
      • 中国现当代随笔
    • 新书热卖榜
      • 小说 新书热卖榜
      • 青春文学 新书热卖榜
      • 童书 新书热卖榜
      • 管理 新书热卖榜
      • 成功/励志 新书热卖榜
      • 艺术 新书热卖榜
  • 精选分类
    • 小说
    • 保健养生
    • 烹饪/美食
    • 风水/占卜
    • 青春文学
    • 童书
    • 管理
    • 成功/励志
    • 文学
    • 哲学/宗教
    • 传记
    • 投资理财
    • 亲子家教
    • 动漫/幽默
    • 法律 Legal
    • 经济 Economics
    • 所有分类
  • 关于东东
  • 帮我找书
搜索
首页工业技术机械/仪表工业自动化测试开发全程实战

自动化测试开发全程实战

作者:蜗牛学院 出版社:清华大学出版社 出版时间:2018年04月 

ISBN: 9787302490241
年中特卖用“SALE15”折扣卷全场书籍85折!可与三本88折,六本78折的优惠叠加计算!全球包邮!
trust badge

EUR €48.99

类别: 机械/仪表工业 SKU:5d8544b15f9849104542d306 库存: 有现货
  • 描述
  • 评论( 0 )

描述

开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302490241

编辑推荐
本书将对整个自动化测试技术进行全面而深入的细致讲解,包括单元测试自动化,接口测试自动化,性能测试自动化的底层原理及代码实现。以及结合当前流行的自动化测试框架如Selenium, Appium, JMeter等进行讲解和实验,帮助读者深入理解原理的同时,也能快速利用这些开发框架和工具实现高效的测试开发工作,帮助读者在企业中树立起*的能力和专业素养。 
内容简介
本书作为“蜗牛学院”自动化测试开发的核心教材,全面而深入地讲解了自动化测试开发的四大核心技术:接口测试、GUI测试、性能测试和测试框架设计。本书全程以项目和实验为主线,将所有测试开发的核心技术以及底层实现原理进行了详细的剖析,并结合Java代码完整地实现了这些原理。由于本书以Java作为核心编程语言,所以也有专门的项目讲解测试开发过程中常用的Java核心编程知识。同时,笔者也将从业多年来关于软件测试的项目和实验进行了总结,这也是本书的特色和价值所在。考虑到目前读者对测试工具的学习需求,本书也对目前比较流行的几款测试工具进行了讲解。
本书面向的主要读者群为软件测试工程师、测试主管、测试架构师和对自动化测试开发有浓厚兴趣的爱好者。本书也可以作为整个研发团队提升测试技术和质量意识的参考书。希望通过本书的学习,能为读者建立起一套完整的、有竞争力的自动化测试技术体系化思维。
目  录

项目1自动化测试体系及环境准备1

1.1预备知识2

1.1.1软件工程与“没有银弹”2

1.1.2理解自动化测试6

1.1.3自动化测试实施过程9

1.1.4软件测试专业术语14

1.2核心实验18

1.2.1Eclipse开发环境的配置与使用18

1.2.2安装XAMPP并配置数据库及应用系统24

项目2WoniuATM模拟系统32

2.1预备知识33

2.1.1Java程序设计基础——变量与类型33

2.1.2Java程序设计基础——控制结构37

2.1.3Java程序设计基础——数组44

2.2核心实验: 实现WoniuATM的注册与登录50

2.3预备知识56

2.3.1Java面向对象——类与实例56

2.3.2Java面向对象——静态与非静态61

2.3.3Java面向对象——构造方法63

2.3.4Java面向对象——失血模型66

2.3.5Java面向对象——继承与多态69

2.4核心实验: 重构WoniuATM并完善其功能77

2.5预备知识86

2.5.1Java异常处理机制86

2.5.2Java数据持久化——文本文件91

2.5.3Java数据持久化——Excel文件95

2.5.4Java数据持久化——JDBC数据库99

2.6核心实验102

2.6.1利用文本文件重构WoniuATM102

2.6.2利用数据库重构WoniuATM108

2.6.3利用正则表达式检验用户输入113项目3代码级接口测试自动化118

3.1预备知识: 深入理解接口测试及白盒测试119

3.2核心实验122

3.2.1实现被测程序ArrayCompare代码122

3.2.2基于Java实现TDD测试驱动开发127

3.2.3基于Java实现代码级接口测试132

3.2.4基于Java实现代码级集成测试135

3.2.5基于JUnit实现代码级接口测试137

3.2.6基于TestNG实现代码级接口测试149

3.2.7基于EclEmma实现代码覆盖率统计157

3.2.8将被测程序导出为Jar包并完成测试161

项目4协议级接口测试自动化164

4.1预备知识165

4.1.1协议级接口测试的价值165

4.1.2网络通信过程与TCP/IP协议167

4.2核心实验173

4.2.1利用Wireshark完成协议监控与分析173

4.2.2利用Java实现TCP通信过程175

4.2.3利用Java对飞秋客户端实施可靠性测试177

4.3预备知识: Web系统通信协议HTTP179

4.4核心实验189

4.4.1利用协议分析工具监控Agileone通信过程189

4.4.2利用Java发送GET请求获取页面源文件193

4.4.3利用Java发送POST请求实现登录测试196

4.4.4使用Java对Agileone进行暴力破解200

4.4.5利用Java对需求提案模块进行测试202

4.4.6利用HttpClient实现需求提案的测试212

4.4.7利用Java对Phpwind论坛进行“灌水”216

4.4.8利用Java完成对Phpwind论坛的随机回帖223

4.4.9利用Java处理JSON格式的数据内容226

4.4.10利用Java实现文件的上传下载232

4.4.11利用Java实现HTTPS协议通信240

4.4.12利用Java完成对Web
Service协议接口测试247

4.5工具应用254

4.5.1利用SoupUI实现协议级接口测试254

4.5.2利用TesseractOCR实现验证码识别260

项目5界面级黑盒测试自动化265

5.1预备知识: 基于界面的自动化测试核心技术266

5.2核心实验271

5.2.1对象识别原理——Java实现Monkey测试271

5.2.2对象识别原理——Java操作Windows窗体对象276

5.2.3对象识别原理——Java操作Java窗体对象283

5.2.4对象识别原理——JavaScript操作Web窗体对象294

5.2.5Selenium IDE——测试Agileone的公告管理297

5.2.6Selenium WebDriver——配置与使用306

5.2.7Selenium WebDriver——代码结构优化310

5.2.8Selenium WebDriver——代码深度优化316

5.2.9Selenium WebDriver——对象识别机制327

5.2.10Selenium WebDriver——鼠标与键盘操作338

5.2.11Selenium WebDriver——对话框与窗口341

5.2.12Selenium WebDriver——其他重要对象344

5.2.13Selenium WebDriver——兼容性测试347

5.3工具应用: 使用Appium测试Android应用程序348

项目6协议级性能测试自动化356

6.1预备知识357

6.1.1性能测试核心原理与技术体系357

6.1.2性能测试工程体系与场景设计361

6.1.3性能测试指标体系与结果分析370

6.2核心实验375

6.2.1基于Java的多线程技术应用375

6.2.2利用Java的Executor框架运行多线程387

6.2.3利用Java开发Phpwind性能测试脚本392

6.2.4利用Java JSoup实现页面资源的下载407

6.2.5利用Java设计拱形场景及思考时间412

6.2.6监控并分析Windows和Linux关键性能指标417

6.2.7基于Web前端的性能测试分析430

6.3工具应用437

6.3.1使用JMeter实现Agileone的接口测试437

6.3.2使用JMeter实现Phpwind的性能测试444

项目7CBT自动化测试框架设计451

7.1预备知识: 理解自动化测试框架设计与CBT452

7.2核心实验454

7.2.1利用CBT的ATM模型实现基础框架454

7.2.2利用DDT模型重构CBT框架463

7.2.3在CBT中定制测试报告组件467

7.2.4对CBT测试报告组件进行测试479

7.2.5在CBT中定制公共组件模块485

7.2.6利用CBT完成与禅道管理系统集成495

7.2.7让CBT完成产品的持续集成500

参考文献509

前  言

01写作背景

IT及互联网行业在中国的发展已经超过20年,而软件测试在中国也发展了15年左右。在这15年中,软件测试经历了从粗放到精细的过程,自主研发的软件系统质量也越来越高。但是即使在大家非常重视产品质量和用户体验的今天,业内仍然存在着诸多对软件测试的偏见和误解,比如软件测试门槛低、没有技术含量、没有发展前途、吃青春饭、不懂编程才做软件测试等。很多软件测试从业者也是基于其门槛低的缘故进入该行业的,但是后来却发现事实并非如此,很多人都或多或少遇到了技术上的瓶颈。笔者从事软件测试工作的14年间,亲历了中国IT行业及软件测试的发展历程,从带项目、做管理,到做企业咨询和内训,再到专职培训讲师,整个过程中积累了很多经验和教训。因此,才萌发了编写本书的想法。从笔者所经历的项目经验和企业实践来看,软件测试工作做得好的企业不多,能把自动化测试成功实施的企业就更少了。究其原因,就是大家的质量意识不够高,对测试工作的认知不足,同时在技术和管理上缺乏系统思维。不过令人欣慰的是,这些问题目前已经得到了企业的足够重视,已经在慢慢好转。

作为一名软件测试行业的老兵,笔者一直在致力于推动国内软件测试行业的发展,并为此做过许多努力。笔者从来都没有觉得软件测试是一个门槛低、没有技术含量、没有发展前景的行业。之所以会这样,是由于一些人的误解以及一些企业在测试领域的不专业导致的,而不是行业本身的问题。笔者在经历了多年的技术沉淀之后,决定通过编写一本书去影响更多的人,展现更多的测试技术。所以在写作本书之前,笔者为这本书定下了5个写作目标。

(1) 一定要讲透自动化测试开发的核心原理及代码实现,而不依赖于工具。

(2) 一定要让这本书在未来10年甚至更长的时间内仍然具有指导价值。

(3) 一定要通过这本书证明软件测试技术的难度不亚于任何一门开发技术。

(4) 一定要让这本书成为自动化测试开发领域的一个技术标杆。

(5) 一定要让读者在完成本书的深入理解和全程实战以后,成为一名高级测试工程师并具备架构师能力。

为了达到上述目的,为了能写出一本对中国软件测试行业特别是自动化测试领域有影响力的书,笔者搜集了大量素材,整理讲解思路,设计专门实验,对代码进行调试,在教学过程中进行实践,与各领域专家讨论等,才最终得以完成本书的编写工作。虽然本书并非十全十美,但是至少笔者已经全力以赴、认真对待了。请读者在字里行间去感受笔者的良苦用心,感受笔者对行业的焦虑、对从业者的忠告。

本书特色

那么,有了这样的写作背景后,应该通过怎样的写作方式才能够更好地传播这些技术及思想呢?笔者通过这些年来的实际研发管理经验以及一线培训讲师的经验得到了启发。要有效地传播知识,特别是技术,最好的方式并非眉飞色舞地演讲,而是让读者实战,进而总结思路、优化思路,获得进一步突破。所以本书在写作之初就定了一个基调:以项目为导向,以实验为依托,进行全程实战。一切知识点的讲解和思路的梳理都是为书中的项目和实验做准备的。测试开发本来就是一门实战出真知的手艺,所以,如果读者只是单纯地抄写代码、使用工具,而没有形成一套解决问题的思路和方法,那也注定无法学习到本书的精髓。

也正是因为如此,笔者在经过长期的实践后,总结出了一套人才培养模式,我们称之为“PBET人才培养模式”。此模式由六大核心要素构成,并成功应用于笔者所在机构“蜗牛学院”的实际教学应用当中。笔者也希望以这样的方式结合本书的实际演练,为技术管理者提供一些关于团队培养的新思路,具体方式如下。

(1) 项目驱动。通过贯穿项目进行连续的学习,可以更好地帮助学习者积累实战经验。

(2) 任务驱动。项目的长期性将导致反馈周期变长,所以项目应分为诸多任务进行。

(3) 团队化培养。传统培养模式强调个人能力的培养,而实际项目更强调团队作战。

(4) 对比式教学。利用不同的技术手段实现相同的功能,帮助学习者理解技术细节。

(5) 可视化教学。面对空洞的概念或逻辑等,应让其可视化,进而帮助学习者理解。

(6) 场景式教学。通过设定特定场景下的特定问题,进而探求各种可能的解决方案。

本书内容

全书共分为7个项目,项目之间的内容贯穿始终。

项目1主要为读者讲解自动化测试体系、笔者在自动化测试领域的思考以及为了后续的项目能够顺利完成所必备的环境搭建内容。

项目2是基于一个ATM机模拟系统,通过对该项目的讲解,让读者了解Java开发的核心知识,为后续的测试开发项目打好编程基本功。

项目3是基于一个小规模的Java程序,为读者详细讲解代码级接口测试的核心知识,并配合JUnit/TestNG两个业界常用的单元测试框架为读者进行演示。

项目4是基于笔者多年前研发的一套管理系统,为读者深入讲解协议级接口测试技术,也是本书非常重要的内容之一。

项目5主要专注于界面级黑盒测试自动化,包括对象识别原理及代码实现、Selenium WebDriver的核心对象及使用,也同时为读者介绍Appium的用法。

项目6主要关注协议级性能测试,以及如何利用原生的Java代码开发一套性能测试脚本,同时为读者讲解JMeter这款接口性能测试工具的核心用法。

项目7主要为读者讲解笔者自主研发的一套自动化测试框架CBT的核心部分的实现思路,帮助读者对自动化测试框架有一个深入的理解和认识,并且能够在实际的项目中运用起来。

本书在写作过程中得到了清华大学出版社的大力支持。这里也要特别感谢我的同事李懿、陈南、陈华、胡平、程萃等。最后,我要感谢“蜗牛学院”的学员们。正是由于我们无数日夜的教学和讨论,才有了本书的案例和思路。另外,特别感谢杭州的甘丽平、上海的孙姣阳、成都的陈乐、上海的黄亮亮、深圳的黄小芮,他们在本书的写作过程中提出了宝贵的意见和建议。

当然,这里更要感谢我的家人,特别是我的夫人和孩子给予了我很大的理解和支持。特谨以此书献给我的夫人和孩子,希望他们能够为他们最亲的人感到骄傲。

读者对象

(1) 软件测试工程师、测试架构师和测试主管。

(2) 相关培训机构的老师和学员。

(3) 自动化测试开发爱好者和从业者。

(4) Java编程爱好者及研发人员。

(5) 大中专院校的老师和学生。

编著者2018年2月

免费在线读
3项目3代码级接口测试自动化项目简介被测程序(ArrayCompare)实现如下功能。输入一个以逗号(或其他字符)分隔的字符串,程序将解析该字符串并得到一个数组。以同样的方式输入第二个字符串,并解析成数组。对输入的字符分隔的每一个值进行判断,必须为数值类型,否则程序将不做任何处理。如果输入合法,将按如下顺序进行判断。(1) 如果数组长度为零,将直接输出信息“结果: 数组长度为零.”。(2) 如果两个数组长度不相等,将直接输出信息“结果: 数组长度不一致.”。(3) 如果两个数组不经过任何排序,自然相等,输出信息为“结果: 数组相同.”。(4) 如果两个数组经过排序后比较,是相等的,输出信息为“结果: 数组排序后相同.”。(5) 如果两个数组经过排序后比较,不相等,输出信息为“结果: 数组不同.”。程序不需要设计专门的GUI界面,直接使用命令行即可。☆代码路径: \bookworkspace\CodeTest项目展示实验结果如图31所示。图31数组判断项目目标(1) 理解路径覆盖和条件覆盖对测试用例设计的指导价值。(2) 熟练运用基于代码级的接口测试自动化技术。(3) 对代码级自动化测试框架JUnit和TestNG有深入理解。(4) 理解代码覆盖率对代码级自动测试的价值。(5) 深入理解并熟练运用代码级自动化测试技术,突破自动化测试技术难题。3.1预备知识: 深入理解接口测试及白盒测试〖*2〗实验简介随着移动互联网的触角深入人们生活的每个角落,伴随而来的便是企业不断对其软件系统接口定义和研发,以便于进行数据传输和交换。由此导致目前企业急需大量专业接口测试工程师,因为接口测试天然具备自动化测试的可行性。所以本项目专门介绍接口测试的各种存在形式。实验目的(1) 理解接口测试的含义与作用。(2) 理解白盒测试与灰盒测试。(3) 理解代码级接口测试与协议级接口测试。实验流程〖*2〗1. 关于接口测试接口测试是一个比较宽泛的概念,近几年在国内受到很多企业和测试从业者的追捧。事实上,无论通过何种方式运行一段程序,人们都必须依赖于调用该程序的接口才能实现。比如,假设现在用户通过登录界面输入用户名和密码,单击“登录”按钮,最终该操作会被组装为一个HTTP请求进而发送给后台服务器端,后台服务器则会直接调用实现登录的接口,通过该接口运行登录的实际代码,如图32所示。图32通过接口运行登录的实际代码在这个过程中,单击“登录”按钮动作发生在前端界面,如果通过该方法观察其最终运行状态,就称之为界面级的黑盒测试。人们也可以利用各种协议发送工具甚至用代码发送协议数据包给后台服务器进而观察其运行状态,此时,就称之为协议级的接口测试。当然,人们也可以从代码层面直接调用该登录接口,这样就称之为代码级的接口测试。最后,人们还可以直接深入代码实现层,对代码的实现逻辑进行详细测试,这样就称之为白盒测试或单元测试。那么问题来了,这整个过程唯一的区别仅在于人们调用该登录代码的方式不一样,最终真正工作的都是同一段代码。所以,任何一种调用的方式,都是在驱动程序运行而已。从本质上来说,人们所做的事情没有任何区别,那么为什么还要基于界面测试登录的功能呢?这里完全可以基于其接口进行测试达到同样的目的,而且这样的做法都是可以自动化的,也是可以重用的。这也是为什么接口测试越来越受到重视的原因。当然,也正是因为接口测试的“接口”,是一个不太容易下定义的概念,所以读者千万不能盲目地认为协议级的测试就是接口测试,或者代码级的测试就是接口测试。2. 关于白盒测试本书在前面将自动化测试进行了归类: 代码级、协议级和界面级。本书所讲的白盒测试,统指代码级的测试。白盒测试是相对于黑盒测试而言的一种测试方法而已,是指人们可以基于系统的代码层逻辑实现非常有针对性的测试,其参考文档主要是系统的详细设计文档,甚至可以精确到算法层实现,也可以向上提升到代码接口层。白盒测试的核心就是利用程序测试程序(如某个函数或方法),所以白盒测试默认情况下自带自动化测试属性。从接口测试的定义来看,白盒测试自然也是通过调用其函数或方法的接口才能完成测试的执行。所以,本书后续所介绍的白盒测试,均是指基于代码级接口实现的测试,既关注接口规范,也关注代码的逻辑实现。白盒测试既然天然属于自动化测试,那么可以将白盒测试、灰盒测试和黑盒测试有效地结合起来,各自完成不同的测试。比如利用白盒测试完成对基本功能点的测试或部分性能测试;利用灰盒测试如协议级测试完成可靠性、安全性、性能等测试工作;利用黑盒测试完成用户体验、兼容性方面的测试。通常情况下,这样的组合会让人们的测试工作变得更加有效率。建议读者不妨在工作当中尝试这样的组合。3. 代码级接口测试实施价值代码级测试在预防软件产品的Bug方面是非常有效的。如果将其发挥好,从组织和技术层面做好协调和规范,其价值不容小觑。简单将其特点归纳为如下几点。(1) 容易上手。只要对代码有一定了解,都可以轻易完成针对代码的专项测试。即使是一个没有受过正统程序设计培训的人,也可以比较容易地按照标准流程和模板完成测试脚本的开发和测试数据的准备。(2) 容易实施。由于代码级测试工作直接使用测试代码调用被测代码(通过其开放出来的接口进行调用),所以实施过程非常容易。只需要通过简单的判断就可以确定该项测试是通过还是失败。(3) 容易维护。通常情况下,在软件研发的过程中,一旦代码的接口确定,变动相对较少,所以维护该测试脚本的工作量相对较低,测试脚本也会比较稳定。(4) 容易见效。一旦将代码级测试工作实施起来,可以立即看到测试脚本所产生的效果。(5) 容易定位。由于测试脚本直接调用被测代码,所以一旦测试脚本无法运行通过,很容易定位该问题,同样,修复该问题的成本也会更小。(6) 增强质量意识。事实上,很多企业的代码级测试工作会由测试团队和程序员团队共同负责,这将非常有助于程序员团队在编写代码时增强其代码的质量意识,为全员质量意识打下坚实的基础。4. 代码级接口测试实施难题既然代码级测试这么有价值,为什么现在很多企业还是做不好呢?当然,这当中是有技术的原因,但更重要的是人为的原因。笔者就这些年的经验,总结一下为什么很难将代码级测试实施的原因。(1) 程序员不习惯。程序员习惯了直接上手写代码,并没有养成写代码之前或之后还要再写测试代码的习惯。(2) 测试人员编码能力差。很多测试工程师在编码方面的能力的确不敢恭维,而且国内存在着这样一种现象就是写不好代码的人才去做软件测试。(3) 程序接口不规范。代码级测试能够实施好,需要一个规范的设计文档和接口说明,甚至清晰的算法实现。但是在很多研发团队中,能把客户的需求分析清晰、形成文档已经不易,根本没有时间设计接口规范。所以程序编写的过程就是一个打补丁的过程,导致代码级测试工作很难实施。(4) 利用调试代替测试。程序员团队都会将自己的代码进行调试,为了能尽早发现程序中可能存在的Bug。这本身并没有错,错的是误认为这就是测试。事实上,调试是单次的、随机的行为,不具备可重用性,比如程序员每一次调试输入的数据可能都是随机的,而且这个数据很有可能没有很好地覆盖代码逻辑。而代码级测试则是严谨的、可重复运行的。无论程序怎么修改,只要能顺利通过代码级测试,都是可以接受的,除非测试程序有Bug。(5) 项目时间紧迫。这应该是每个团队都会遇到的问题。由于时间紧迫,团队没有时间完整地测试;由于时间紧迫,团队没有时间写测试脚本。但是这样真的可以提高效率吗?无数失败或延期的项目经验告诉人们,如果不具备规范和严谨的流程,以及全员质量意识,即使项目赶出来了,客户也不一定认可。(6) 只关心用户看得到的东西。有的团队只做黑盒测试,以为将用户的操作过程模拟好就行,这样用户就不会发现问题了。但是,实际上,往往用户什么问题都可以发现,所以千万不能抱有侥幸心理。(7) 测试程序复杂度高。有时候程序员为了能调用一个被测代码,需要准备大量的测试环境和测试数据,这是代码级测试经常遇到的问题。事实上,这个问题需要辩证地来看待,针对测试环境非常复杂的情况,无论白盒、黑盒,可能测试起来都会比较复杂。通常笔者会建议代码级测试更多关注在代码的算法层或逻辑实现层(即层次更低的代码)。而协议级或界面级的测试,更多关注于控制层代码。事实上,笔者并不是在说代码级测试多么完美,多么有价值,但是一定不能无视它的存在。如果研发团队能把代码级测试的工作多做一些,系统测试的工作就可以少做一些,而且根据缺陷放大模型,把问题扼杀在摇篮中,更能看到其价值。思考练习(1) 请理解单元测试与白盒测试、代码级接口测试与灰盒测试在作用上的区别。(2) 自学白盒测试中的路径覆盖、条件覆盖等测试用例设计方法。3.2核心实验〖*4/5〗3.2.1实现被测程序ArrayCompare代码〖*2〗实验简介本实验主要为读者梳理本测试项目的目标程序ArrayCompare的功能结构以及具体的代码实现。实验目的(1) 掌握概要设计与接口设计的基本方法。(2) 能够熟练快速地定位和梳理代码逻辑。(3) 对代码功能进行解读,进而达到测试的目的。实验流程〖*2〗1. 代码结构图ArrayCompare代码结构如图33所示。图33ArrayCompare代码结构图2. 代码实现原则本书将基于如下思路进行程序的整体架构和接口设计。(1) 合理使用面向对象特性,保证可测试性和模块的独立性。(2) 高重用,低耦合。(3) 结构合理,方法之间的调用深度不超过5层。(4) 命名规范合理,见名知意。(5) 不使用多态性,不过度使用面向对象设计原则。(6) 不使用太多内置API,尽量自主实现所有功能。
书摘插画
插图

插图

插图

插图

插图

插图

抢先评论了 “自动化测试开发全程实战” 取消回复

评论

还没有评论。

相关产品

加入购物车

图解家电维修完全自学教程

EUR €53.99
加入购物车

机械制图(第六版)

EUR €21.99
阅读更多
缺货

热工测量和控制仪表的安装(第二版)

EUR €28.99
加入购物车

机械设计实用机构与装置图册(原书第5版)

EUR €78.99
评分 5.00 / 5

东东购的宗旨是服务喜爱阅读中文书籍的海外人民,提供一个完善的购书平台,让国人不论何时何地都能沉浸在书香之中,读着熟悉的中文字,回忆着家乡的味道。


安全加密结账 安心网络购物 支持Paypal付款

常见问题

  • 货物配送
  • 退换货政策
  • 隐私政策
  • 联盟营销

客户服务

  • 联系东东
  • 关于东东
  • 帮我找书
  • 货物追踪
  • 会员登入

订阅最新的优惠讯息和书籍资讯

选择币别

EUR
USD
CAD
AUD
NZD
NOK
GBP
CHF
SEK
CNY
UAH
ILS
SAR
MXN
KRW
MYR
SGD
HUF
TRY
JPY
HKD
TWD
facebookinstagram
©2020 东东购 EasternEast.com

限时特卖:用“SALE15”优惠券全场书籍85折!可与三本88折,六本78折的优惠叠加计算。 忽略