分类目录归档:读书

读书与买书

来回的奔波加上临近的国庆节,索性就在郑州的家待着等过完节了。最近一两年每次回来如果没什么可带动就会带回来一些以前购买的图书。购买的很多图书都是没有阅读的或是草草看看的那种,或多或少的总是给自己一些理由然后就将购置的图书搁置起来了。最近阅读欲望比较强烈,恰逢这几天看电视又看了一期《文明之旅 — 杨义-读书之乐》,又不能给自己找太多的借口,于是捡起来开始阅读,最近在看的几本书是《用户界面设计与开发精解》《重构-改善既有代码的设计》《设计模式-可复用面向对象软件的基础》这三本,都属于很早之前买的书,以前草草的翻了翻,并没有很好的进行细读。在实际工作中结合网络或多或少的会应用这些书里的一些知识,这通俗上来讲就是野路子,能够有一定的应用,该用的地方没有用不该用的地方乱用,对于基本知识及归纳良好的体系方面则不如书中所讲。

由于很久不怎么这样看一本书,近几年越来越多的是在电脑上看书,在平板上看书,所以在刚开始的时候还是很不容易进入阅读状态的,遂采用钢笔与笔记本在阅读时进行笔记的记录与写写画画,这样效果就好很多了,阅读过程中还要不断的进行练习书本上的知识点,再结合以往做的项目进行比对,这样的收获确实不小。看来这样的阅读要持续的进行,每天阅读一点点,日积月累收获就会很大。坚持!

近几年没有买过书,不买的原因之一是不再想每次搬家都让一大堆书跟着自己运转,其二是能够通过网络很容易获取电子书籍。所以最近几年基本上都是下载些电子书籍进行阅读,电子书籍的阅读很大程度上会受到阅读环境的影响,阅读的感觉跟阅读实体书有所不同,再就是不是很好进行笔记的记录跟写写画画,对于技术类的书籍阅读电子书籍在练习上会好一些。如果加强书籍电子化(书源与合理的价格),阅读记录与备注的便捷性,这样做很多行业会有很好的应用,第一个感触就是现在的孩子背的书包不再有现在这么沉重了。

在现在还是实体书阅读自来感觉比较良好的时候,也可能是一直阅读电子书籍产生的审美疲劳,今天从当当上购买了一些书,根据制订的阅读计划(每天至少读10页),持续的读一读吧。今天购买的书籍有《遇见未知的自己》《怪诞行为学升级版》《失控》《黑客与画家》《浪潮之巅》《数学之美》《程序员修炼之道》共7本。

 

历经好几年,终于看完了《藏地密码》

偶尔不经意间,在网上看起了《藏地密码》,当时觉得不错,就从当当还是啥地方购买了开始看,也是我最近几年买的为数不多的书籍中的之一,中间断断续续的,每一期出现后都购买观阅,直至前段日子出的《藏地密码10》终于算是看完了。从这本书来看,是一本写的非常不错的小说,围绕着“帕巴拉神庙”对西藏各种宗教进行展开描述,涉及到很多西藏宗教及各方水土民俗风情无一遗漏,尽管从小说的本质来说是有些玄幻,但还是能从很多地方让大家了解西藏。

这本书值得一看,特此推荐。

关于软件测试

最近在读软件测试方面的书籍,属于软件测试基础理论知识,大概了解下软件测试方面的知识还是不错的,最起码能了解测试的理论,方法及应用范围,以及那些可以采用工具辅助自动化测试,各种测试方法的特点、测试用例如何设等计,理论的基础让我发现原来测试也是一门学科,其中也存在不少模型,怪不得近年来测试工程师在整个行业走俏,相对整个行业也越来越正规。

近期阅读总结如下

从软件业界来说,可以将软件测试方法分为静态测试与动态测试(静态测试主要针对软件的编程格式、结构等方面进行评估,而动态测试则主要针对功能确认与接口测试、覆盖率分析、性能分析、内存分析等);如果按照规划测试的不同点出发,软件测试方法又可以分为黑盒测试与白盒测试(黑盒测试[Black-box Testing]又称功能测试、数据驱动测试和基于软件需求规格说明的测试,黑盒测试是一种从用户出观点出发的测试,白盒测试又称结构测试、逻辑驱动测试或基于程序的测试,主要基于内部结构来进行测试)。

从软件测试过程的先后次序可以将整个过程分为单元测试、集成测试、确认测试、系统测试、验收测试。

单元测试主要完成模块接口、局部数据结构、路径测试、边界条件、出错处理任务。

集成测试又分为非增量式测试,以一步到位的方法,对各单元测试完毕后连接程序各模块,形成完整的整体来进行测试,另外一种集成测试为增量式测试[自顶向下增量、自底向上增量],不同的测试方法各有优缺点,主要集中在错误暴露点与时间的不同,另外就是针对测试模拟输入(数据)获取的难易度不同;另外在进行集成测试过程中可针对测试修改后进行回归测试,最终达到测试计划预定的标准。

确认测试主要完成确认测试的准则及配置审查的内容,经过确认测试后需要给软件一个结论性的评价(该软件功能、性能及其他要求满足需求规格说明中的规定,认为合格或者是不满足需求规格说明中的规定,如果不满足需要列出不满足的缺陷清单,对于确认测试时出线这样的情况一般很难在交付时间完成问题纠正,这时候需要跟客户进行协商,获取一个解决办法)。

系统测试主要完成恢复测试、安全测试、强度测试、性能测试、正确性测试、可靠性测试、兼容性测试。

验收测试是测试中最后一个环节,主要为完成软件产品验收所做的一些测试,涉及内容有明确项目并规定测试通过的标准、确定测试方法、决定验收测试的组织和资源、指定验收测试计划并进行评审、设计验收测试用例、审查准备工作、执行验收测试、分析结果,给出验收结论。验收测试还包括软件配置及文档资料测试,这部分可以在软件开发过程中并行进行。

黑盒测试技术方法

黑盒测试技术方法主要包括边界值分析法、等价类划分法、因果图分析法、决策表分析法等。

白盒测试技术方法

白盒测试技术方法主要包括结构分析、逻辑覆盖、路径测试等。

 

软件的可靠性评估的定义

摘自http://www.168518.net/edu/rjpc/200607/20060729000000.html,完整文章请进入该链接查阅。

软件可靠性评估的定义

可靠性(Reliability)是产品在规定的条件下和规定的时间内完成规定功能的能力,他的概率度量称为可靠度.

软件可靠性(Software Reliability)是软件系统固有特性之一,它表明了一个软件系统按照用户的要求和设计的目标,执行其功能的正确程度。软件可靠性与软件缺陷有关,也与系统输入和系统使用有关。理论上说,可靠的软件系统应该是正确、完整、一致和健壮的。但是实际上任何软件都不可能达到百分之百的正确,而且也无法精确度量。一般情况下,只能通过对软件系统进行测试来度量其可靠性。

这样,给出如下定义:“软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力”。根据这个定义,软件可靠性包含了以下三个要素:

1.规定的时间

软件可靠性只是体现在其运行阶段,所以将“运行时间”作为“规定的时间”的度量。“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。

2.规定的环境条件

环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其它支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况以及对输入数据的要求,并假定其它一切因素都是理想的。有了明确规定的环境条件,还可以有效判断软件失效的责任在用户方还是研制方。

3.规定的功能

软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的子模块就不同(即程序路径选择不同),其可靠性也就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。

在讲到软件可靠性评估的时候,我们不得不提到软件可靠性模型。软件可靠性模型(Software reliability model)是指为预计或估算软件的可靠性所建立的可靠性框图和数学模型。建立可靠性模型是为了将复杂系统的可靠性逐级分解为简单系统的可靠性,以便于定量预计、分配、估算和评价复杂系统的可靠性。