读《构建之法》提出的问题

问题1:作软件测试必须有哪些的知识储备?
(1)软件开发技术
不少人认为,干嘛要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。要知道,在之后的软件测试工做中,你就会发现软件开发与软件测试之间是什么样的关系了。没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才可以达到用户满意的地步,他们之间是相互依赖关系。有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪一个环节开发人员容易犯错误,知道在哪一个逻辑结构、哪一个接口或函数,甚至是从内存的管理机制上均可以找出问题。
软件开发所用的程序设计语言有不少种,因此要精通其中一门,其余能看懂代码,会对你的测试工做有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
并且在软件测试工做中,要编写一些辅助测试的小工具,都须要有软件开发基础。象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要总是认为软件开发难,什么事都是从不会到会,从不精通到精通,都须要一个过程。没有人一辈子下来就什么都会的,都须要本身的不断努力才能成功。
(2)网络技术
软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。因此,目前全部的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提升。目前,家庭网速达到1M~2Mbps,企业达到4Mbps,听说要到2012年家庭的网络速度要达到20Mbps。那么网络硬件从传统的电缆到目前的光纤技术、无线通讯技术。从目前的发展速度,三网(电信网、电视网、计算机网络)合并是早晚的事情。
网络硬件协议的测试,也是网络设备生产商要作的工做,好比华为和中兴电子。
(3)数据库技术
如今的数据信息是海量的。在目前的软件产品中,底层架构中就须要有数据库进行数据存储,那么对数据的增删改查的操做是软件测试人员必需要必备的技能。数据库测试也是测试技术的一种。
(4)测试与质量保证技术
精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每一个阶段的文档编写技巧,掌握软件测试的策略与各类测试方法,掌握测试用例的设计方法。掌握单元测试、集成测试、确认测试、系统测试、验收测试等每一个阶段的测试技术。软件质量保证知识、测试项目管理、测试团队建设知识也是必需要具有的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,可以学会如何进行测试项目管理、回归测试以及性能测试,可以把性能缺陷进行定位。
软件测试仍是一个崭新的学科,尚未造成一个独有的知识体系,还须要咱们不断的研究与实践。
(5)行业知识
目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都须要大量的测试,因此相关行业知识的储备也是必须的。
(6)职场规范
职场礼仪是必须的,你是否适合某个企业,可否融入这个企业,基本的职场规范是要学习的。必要、有效的沟通也是软件测试人员所必须掌握的技巧。
问题2:成为一个好的程序员需具有哪些条件与素养?
1.扎实的基础。数据结构、离散数学、编译原理,这些是全部计算机科学的基础,若是不掌握他们,很难写出高水平的程序。据个人观察,学计算机专业的人比学其余专业的人更能写出高质量的软件。程序人人都会写,但当你发现写到必定程度很难再提升的时候,就应该想一想是否是要回过头来学学这些最基本的理论。不要一开始就去学OOP,即便你再精通OOP,遇到一些基本算法的时候可能也会一筹莫展。程序员

  1. 丰富的想象力。不要拘泥于固定的思惟方式,遇到问题的时候要多想几种解决问题的方案,试试别人从没想过的方法。丰富的想象力是创建在丰富的知识的基础上,除计算机之外,多涉猎其余的学科,好比天文、物理、数学等等。另外,多看科幻电影也是一个很好的途径。
  2. 最简单的是最好的。这也许是全部科学都遵循的一条准则,如此复杂的质能互换原理在爱因斯坦眼里不过是一个简单得不能再简单的公式:E=mc2。简单的方法更容易被人理解,更容易实现,也更容易维护。遇到问题时要优先考虑最简单的方案,只有简单方案不能知足要求时再考虑复杂的方案。
  3. 不钻牛角尖。当你遇到障碍的时候,不妨暂时远离电脑,看看窗外的风景,听听轻音乐,和朋友聊聊天。当我遇到难题的时候会去玩游戏,并且是那种极暴力的打斗类游戏,当负责游戏的那部分大脑细胞极度亢奋的时候,负责编程的那部分大脑细胞就获得了充分的休息。当从新开始工做的时候,我会发现那些难题如今居然能够迎刃而解。
  4. 对答案的渴求。人类天然科学的发展史就是一个渴求获得答案的过程,即便只能知道答案的一小部分也值得咱们去付出。只要你坚决信念,必定要找到问题的答案,你才会付出精力去探索,即便最后没有获得答案,在过程当中你也会学到不少东西。
  5. 多与别人交流。三人行必有我师,也许在一次和别人不经意的谈话中,就能够迸出灵感的火花。多上上网,看看别人对同一问题的见解,会给你很大的启发。 问题3:软件质量的保证涉及太多方面,哪一方面是最重要的?哪一方面是最容易出纰漏的? 软件测试是软件质量保证工做的一个活动。即软件测试是软件质量保证工做的一个子集。软件质量保证工做包括:评审,配置管理、风险管理、测试、创建标准、进行度量等一系列活动。 软件质量保证(SQA-Software Quality Assurance)是创建一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法可以正确地被全部项目所采用。软件质量保证的目的是使软件过程对于管理人员来讲是可见的。它经过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一块儿参与创建计划、标准和过程。这些将使软件项目知足机构方针的要求。
相关文章
相关标签/搜索