在软件工程中,测试是一个工程过程,是针对软件这一特殊产品的一道生产工序,是软件质量保证的重要一环。也就是说,软件测试不是项目管理过程的需要,而是软件工程过程的需要。
这次的沙龙举办的意义还是十分重大的,对于我们现在的学员以及测试界的新人来说,可能存在对测试行业的信心不足或迷茫,通过这样一个交流的形式从某种程度上打消了我们这样一种念头,可谓是一股暖流涌上心头。看到这么多成功人士的亲身经历以及给予我们的鼓励,使我们看到了一个充满希望的测试界的明天,同时也为我们指明了一条通向成功的路,我们所需要做的就是让我们早日达到这个标准。
正确评估和区分缺陷的严重性和优先级,是测试人员和开发人员以及全体项目组人员的一件大事。这既是确保测试顺利进行的要求,也是保证软件质量的重要环节,应该要引起足够的重视。这里介绍三种常用的技术工具供大家参考。
敏捷方法已经获得了越来越广泛的应用。这是很容易理解的,特别是从开发人员与用户的角度来看。但是对于质量保证人员来说,敏捷方法却会带来麻烦——在原来的理想情况下,他们只需要用既有的说明文档来验证"完成"的产品。要根据一个变化的背景验证一个活动的目标是很不直观的。这表示所使用的技术与自动化也更复杂,并且需要一个新的测试方式,一种类似于用户和开发人员之间的关系的方式。
探索性测试是一种不是很严谨的测试方法,缺乏可管理性和度量性。因此,James Bach提出了基于任务的测试管理(Session-Based Test Management)。Session-Based测试管理是用于度量和管理探索性测试的一种方法。
软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
如著名市场研究机构Forrester的Cary Schwaber所说的那样,最新的ALM平台将会改善开发过程,向应用工具提供普通服务。这一代的ALM软件在将需求、测试案例、bug跟踪和问题解决方案整合到一个应用套件中做了更多的工作。下图就简单说明了共享测试过程并把它作为协作资产。
在过去,TM(测试管理)工具中使用的测试“脚本”实际上主要是一步一步的指令(保存在Word或Excel文档中),手工测试人员通过按照这些指令点击一个已经完成的界面完成测试。当测试工作完成以后,测试人员需要检查测试管理用户界面的“检查框”,从而确认测试是成功还是失败了。
一直以来,测试是都是应用生命周期的一个单独活动,使用不同并且没有关联的工具。首先,开发团队会运行一套JUnit测试套件,作为建设过程的一部分。然后,质量保证团队会手动创建并运行了一套针对用户界面的功能测试。
负载测试(Load testing)、压力测试(Stress Test,应称为强度测试)和性能测试,这三个概念常常引起混淆,难以区分,从而造成不正确的理解和错误的使用。
最新消息,微软已经将Internet Explorer 8 Beta的最新版本发送给了测试者,开发人员和合作伙伴.
只是知道这些原则意义不是很大,如果真能让它们成为思考的血液,才能发挥它的真正价值。那真的需要很多的历练,其实成为一名出色的测试人员,远没有那么简单,需要简单,需要(不断的学习+不断的经历+不断的思考)。