测试有道:微软测试技术心得
梁博 许珊 徐歆恺编著
78个笔记
引子
我们的测试工程师必须要有更高的技能,并参与到软件开发生命周期中的每一个阶段中来
测试工程师的任务
只是为了找到缺陷或者单纯为了追求找到的缺陷的数目,这种工作未免太简单了。实际上如我们前面所说,测试工作是质量保证工作。
成功职业生涯规划的提示
技术技能。抓住每一个项目的机会去尽可能多地提升技术水平(开发技能、测试技能、自动化技术、调试技术、性能分析技能和架构技能)
沟通技巧。酒香也怕巷子深,当前社会的特点是人多,人才多。如果能及时和有效地把想法、工作进展、期望都介绍给别人,不断加强沟通能力和演讲水平,就能得到比别人更多的关注。
人的技巧。包括团队协作、倾听的技巧、对其他人的敏感度、情商、社交技能等。
领导力。领导一个团队的一个铁律是“爱他们并引领他们”。如何提升领导力,现在市面上相关的书籍太多了,请择优阅读。
培训。请务必阅读书籍和期刊,扩大我们的知识面,参加有关讲座,研讨会,培训班和会议。利用频繁和广泛的内部讨论会和研究的介绍及外部会谈。
要想得到长足的发展,非得用时间来换不可。
气质、品质也不是一朝一夕的,多年的时间才能影响人的性格。
建议永远不要夸大自己的能力,把自己放到一个自己无法胜任的地方去,
做最好的自己,对自己诚实。
· 最重要的是,拍了胸脯之后,从别人那里接受了某项工作或任务之后,一定要保质保量按期完成,不要让自己丧失信誉。
RUP
好的软件过程首先一定是基于组件的,在此基础之上,还要符合迭代开发、用例驱动开发和以架构为中心的这三个最佳实践
。RUP中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶段(Inception)、细化阶段(Elaboration)、构造阶段(Construction)和交付阶段
敏捷软件开发方法(Agile software development)
。敏捷技术包括测试驱动开发(TDD, Test-Driven Development)和行为驱动开发(BDD, Bahavior-Driven Development
软件开发过程中的测试
如果进行敏捷开发实践的话,开发和测试人员的区别无非是负责编码和负责编写测试代码的区别
从项目开始之初我们就要制定测试计划、对需求进行测试、设计测试和测试用例、执行测试,最后对测试的结果进行总结和分析
不管使用哪种开发模式都要尽可能早地引入测试。
提高软件的可测性(Testability)
如果设计不当,测试可能会是软件开发过程中代价最高的一个环节
微软的软件产品开发过程
每天开发结束后,开发人员都要把自己计算机上最新的源码和文档更新到数据库中,这个过程被称为签入
第3章 软件质量与测试
软件质量同时取决于各种标准,时效性与可测试性(testability)