Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

如何使用PowerMock以及Mockito实现单元测试

如何使用PowerMock以及Mockito实现单元测试

如何使用PowerMock以及Mockito实现单元测试2013-10-04 IBM 张 羽,吴 长侠EasyMock 以及 Mockito 都因为可以极大地简化单元测试的书写过程而被许多人应用在自己的工作中,但是这 2 种 Mock 工具都不可以实现对静态函数、构造函数、私有函数、Final 函数以及系统函数的模拟,但是这些方法往往是我们在 大型系统中需要的功能。PowerMock 是在 EasyMock 以及 Mockito 基础上的扩展,通过定制类加...
捕获合规需求的模式化方法简介

捕获合规需求的模式化方法简介

捕获合规需求的模式化方法简介2013-10-05 infoq 夏雪这是一个基于模式的新框架, 它通过业务流程的充分自动化和持续审计,来捕获并管理业务流程的合规需求。在现如今以IT为中心的业务环境中,对法规、法律和其命令的合规性管理已成为成功的关键。指令几乎控制着业务经营的各 个方面,要求组织为监管机构、利益相关者、客户和业务合作伙伴提供保证。1.保证整个企业的合规性迫切需要一个整体的 、易实施的、自律的方法,用它来定义一个完整、一致的流程和系统层的内部控制...
IOCP简介

IOCP简介

IOCP简介2013-10-05 IBM 郭 仁祥什么是 IOCP随着计算机技术,尤其是网络技术的飞速发展,如今的程序开发人员不仅仅局限于基于单机运行或 单一线程的应用程序的开发。服务器端 / 客户端模式的最显著的特点是一个服务器端应用能同时为多个客户端提供服务。 而传统的服务器端 / 客户端模式通常为每一个客户端创建一个独立的线程,这种实现方式在客户端数量不多的情况下问题 不大,但对于类似于铁路网络订票这样的瞬间客户数量巨大的系统来说,效率极端低下。这是...
详解使用功能开关更好地实现持续部署

详解使用功能开关更好地实现持续部署

详解使用功能开关更好地实现持续部署2013-10-05 infoq 崔力强为了快速发布开发完成的功能,现代的互联网企业通常会以比较快的迭代周期来持续的发布。但是有时候因为技术或者 业务上的原因,需要在发布的时候将某些功能隐藏起来。一种解决方案是,在独立的分支上开发新功能,全部开发测试完成 之后,才合并回主干,准备发布。这也就是我们经常提到的功能分支(feature branch)。本文将介绍如何使用功能开关( feature toggle)来更好地解决这个...
详解使用TestLink管理软件功能测试过程

详解使用TestLink管理软件功能测试过程

详解使用TestLink管理软件功能测试过程2013-10-05 ibm 祝 尚元本系列文章适用于需要为测试团队寻找测试过程管理解决方案的测试设计、测试管理人员。目前,开源理念在国内外越 来越深入人心,开源软件大大推动了软件研发行业的快速发展。TestLink 作为软件测试管理类开源软件中的佼佼者,在中 小型的软件测试项目组中得到了普遍应用,项目组的测试效率得到了很大的提升。本文作为使用 TestLink 管理软件测试过程系列文章的第一部 分,主要介绍如何...
集成的ALM工具简介

集成的ALM工具简介

集成的ALM工具简介2013-10-06 infoq 陈菲译现代商业流程越来越紧密集成:运输、制造和财务紧密结合为客户交付增加的商业价值,从而减少了费用。在过去40年 里,自动化让商业流程得到进一步发展,它将各专业工具和实践集合成为一个整体价值链。客户往往希望只需提供完他们的 信息一次;并随之假设你们的技术支持了解他们及他们产品的一切,并期望随之的交易是直接的,并私人化。尽管如此,用 于创建和维护这些自动化系统的流程却比它们支持的系统来得更加分化和无系统。...
管理技术债

管理技术债

管理技术债2013-10-06 infoq 张卫滨技术债被广泛视为一件坏事,它应该避免或者要尽快进行偿付。你应该这样做吗?我们并不这么认为。首先,我们对比了技术债与财务债,阐述了它与战略设计(Strategic Design)的相似性以及它的利益相关者。然后,我们列出了识别代码中技术债的各种可行的方式,这可能是你所关心的。最后,我们描述了项目中可以偿还技术债的不同方式,并且阐述了当你在决定要偿还债务、转移债务或者只是支付利息哪个方案更好时,必须要考虑的因素...
基于 AOP 的动态数据国际化框架的设计与实现

基于 AOP 的动态数据国际化框架的设计与实现

基于 AOP 的动态数据国际化框架的设计与实现2013-10-06 ibm 齐白钰等互联网的发展推动了全世界的交流,需要开发出满足不同地区语言、文化、生活习惯要求的 Web 应用,因此,软件的国 际化已成为必须要解决的问题。国内外目前采用的国际化方法存在以下一些不足:已存在的动态数据国际化解决方法不易于移植和复用。没有现成的动态数据国际化解决方案或框架。针对以上问题,需要提出一个动态数据国际化的解决方案。为了在短时间内,规范高效的构建出国际化的 Web 应...
如何从组件开始构建一座城市?

如何从组件开始构建一座城市?

如何从组件开始构建一座城市?2013-10-06 infoq 李彬为什么越来越多的企业应用开发正在转向组件框架和解决方案?组件架构是否有前途?我相信答案是肯定的,而且很快 所有开发框架都将会是基于组件的——这是近在眼前的事情。下面让我来向你揭示这一切的原因。你怎么来建设你 的房子?一般你会从砌块开始。我们可以将构建Web应用与构建你的乡间小屋进行对比。你能够快速构建一个非常好看的应 用,而且它具有所有必需的功能。同样,在你的房子里面...
函数式思维:大量转换:同义词掩盖了相似性

函数式思维:大量转换:同义词掩盖了相似性

函数式思维:大量转换:同义词掩盖了相似性2013-10-07 IBM Neal Ford函数式编程语言实现代码重用的方法与面向对象的语言不同,这个主题我在 “第 2 部分” 中进行了分析。面向对象的 语言往往拥有众多可进行多种操作的数据结构,而函数式语言却只有极少数可进行多种操作的数据结构。面向对象的语言鼓 励您创建特定于类的方法,而您可以捕获一些重复出现的模式,以便以后重用。函数式语言鼓励您将常见转换应用于数据结 构,使用更高级的...
函数式思维: 转换和优化各种语言的更多功能比较

函数式思维: 转换和优化各种语言的更多功能比较

函数式思维: 转换和优化各种语言的更多功能比较2013-10-07 ibm Neal Ford函数式编程起源于数学和计算机科学,这两种科学对术语都各执一词。语言和框架设计师们开发了他们最喜欢的命名法 ,结果发现基础范式已经有名称了。由于术语存在不一致性而使得了解函数式编程范式变得不容易。在 “大量转换 ” 中,我提出了对质数进行分类的问题,并且跨各种函数式语言就 JVM 和两种函数式 Java 框架实现了一种解决方案。本 期文章继续...
基于Selenium WebDriver实现多语言环境下自动化截图

基于Selenium WebDriver实现多语言环境下自动化截图

基于Selenium WebDriver实现多语言环境下自动化截图2013-10-07 ibm 罗 小双TVT 的概念和 TVT 自动化的必要性概念翻译验证测试 (Translation Verification Testing,TVT) 是 IBM GSSC 部门为 IBM 的各种产品做本地化 (Localization) 的一个测试环节。众所周知,我们开发出一款产品,需要让全 球各地的用户都能够无障碍的使用,就必须精准的将产品 UI 和相关文档翻译成各...
利用Selenium IDE在翻译验证测试中快速实现可复用的自动化测试

利用Selenium IDE在翻译验证测试中快速实现可复用的自动化测试

利用Selenium IDE在翻译验证测试中快速实现可复用的自动化测试2013-10-07 IBM 陈立家, 宋强概述翻译验证测试是指在产品集成翻译文件之后,由专业的翻译人员检查翻译在产品的上下文语境中是否准确, 是否能方便最终用户的理解和使用。考虑到翻译人员产品操作的熟练程度和成本等原因,通常是由产品部门提供语言的截图 给翻译人员进行检查。软件产品的翻译验证测试对提高语言用户的满意度和更好的将产品推向国际市场具有十分重要的意义 。然而由于以下原因,翻译验...
浅谈自动化测试的有效性

浅谈自动化测试的有效性

浅谈自动化测试的有效性2013-10-08 infoq 刘毅自动化测试能否帮助我们我们提升开发效率,关键在于其有效性。如果其有效性可能存在问题,那么可能是什么导致了 这种问题的产生呢?对自动化测试产生作用的方式存在误解,对自动化测试能够产生作用所要求的条件存在误解,自动化测 试分析设计的随意性,自动化测试开发维护的低标准,对自动化测试资产的低准出条件……本文将就自动化测试有效性简单 阐述我自己的一点见解,抛砖引玉。观念之一:独木...
设计模式自动化

设计模式自动化

设计模式自动化2013-10-08 infoq 邵思华译简介软件开发项目正在变得日趋庞大与复杂。越是复杂的项目,其软件开发与维护的成本越有可能远远超过花费 在硬件上的成本。软件的规模与其开发和维护的成本之间存在着一种超线性的关系。说到底,庞大且复杂的软件需 要优秀的工程师进行开发与维护,而优秀的工程师总是难以吸引的,留住他们的代价也更高昂。尽管维护每行代码 的成本如此高昂,但我们依然编写了大量的样板代码,而这其中有很大一部分可以由更智能的编译器来替代完成。...
如何将敏捷项目可视化

如何将敏捷项目可视化

如何将敏捷项目可视化2013-10-08 夏雪 敏捷事关“整体团队”经验。我们在一起做计划、在一起编码、在一起测试、在一起检视过去,以便团队中的每一个人 都能达成一致的共识。然而,随着项目增大,团队开始迷失在大堆的用户故事里,很难让每个人都能看到相同的全景图 (big picture)。本文讨论了可视化全景图的各种方法。不仅可用于负责人和管理者,更可以用于每一个人。在理 想的情况下,敏捷团队应该针对当前迭代提出清晰的计划,而后续的发...
使用STAF/STAX 实现测试自动化和持续集成

使用STAF/STAX 实现测试自动化和持续集成

使用STAF/STAX 实现测试自动化和持续集成2013-10-08 IBM Fabio Negrello关于回归和增量测试回归测试往往用于确保软件变更不会在软件中引入新的问题或故障。另外,还可以用它来确 保您不会重新引入之前修复的错误。如果软件对第三方组件和库有诸多依赖项,比如 XML 处理 API 或 JPA 等数据库提取 API,那么新问题的引入会非常常见。在这些情况下,数据库架构的一个小小的改动就可能会导致难以预测的应用程序行为 变更。如果软件本身...
使用 Subversion、Hudson 和 Eclipse 构建持续集成系统

使用 Subversion、Hudson 和 Eclipse 构建持续集成系统

使用 Subversion、Hudson 和 Eclipse 构建持续集成系统2013-10-09 ibm 宁 宁持续集成系统简介持续集成系统是指持续地编译、测试、检查和部署源代码的系统。Martin Fowler 对持续集成是这样定义的 :持续集成是一种软件开发实践,团队开发成员经常集成它们的工作,通常每个成员每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成错误。这个过程可以大大减少集成的问题,从...
使用Contest分析测试用例的代码覆盖率

使用Contest分析测试用例的代码覆盖率

使用Contest分析测试用例的代码覆盖率2013-10-09 ibm 徐迎军, 张维,行骁程解决什么问题问题的提出时这样的:对于测试人员来说,首先面临的问题就是无法度量测试用例的质量,如果测试工程师花费大量时间写的测试用例不能有效地覆盖重要的实现代码,那么可以表明这样的测试用例不是优良的。同时可以根据测试覆盖了的报表来分析为什么没有覆盖到重要的代码,接着需要进行改进测试用例的代码覆盖率达到满意的结果。代码覆盖率高低根据产品的不同而不同:70%,80% 甚...
某大型银行深化系统之一:平台技术

某大型银行深化系统之一:平台技术

某大型银行深化系统之一:平台技术2013-11-17一、技术定义1.Mashup(糅合)将多种使用公共或者私有数据库的web应用,通过调用内容提供者的API,将信息糅合在一起,形成一个整合应用。2.WebAPI以HTTP为基础,在Web架构之上,将提供的服务内容以标准的界面来定义,以便进行点对点之间的服务整合。常见的技术如HTTP中的GET/POST、SOAP/HTTP、XML/RPC等。3.JSF一种Web框架,用于展现层,提供近似于C/S模式的方式开发...
<< 151 152 153 154 155 156 157 158 159 160 >>