一. 软件测试流程
    总体的来讲 软件测试的流程包括5个步骤:
测试需求—>测试计划—>测试执行—>测试记录和缺陷跟踪—>测试总结和报告
    1).测试计划、根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,几制定黑盒测试的最高标准。以后所有的测试工作都有将围绕着测试需求来进行,合符测试需求的应用程序即是合格的,同时要适当的选择测试内容,合理安排测试人员、测试时间(测试周期)及测试资源等。
2).测试设计。将测试计划阶段制定测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例,(测试用例的选择的好坏直接影响测试结果的有效性)。
3).测试开发建立可重复使用的自动测试过程。
4).测试执行测试开发阶段建立的自动测试过程,并对所有发现的缺陷进行跟踪管理,测试执行一般有单元测试、组合测试、集成测试、联调测试及回归测试等步骤组成。
5). 测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合的评价。
理解方式二:
      软件测试流程
1.拿到用户的需求说明书,开始对需求测试,出需求中的问题或者说不可测的地方
2.需求测试通过后,根据需求说明书制定测试计划,包括测试策略、测试方法、测试周期等
3.根据软件需求说明书编写测试用例,一般的公司都是根据需求说明书编写测试用例。
  4.搭建测试环境,包括软件环境和硬件环境。
5.根据测试用例进行测试,提交缺陷。
6.回归测试。
7. 测试完成后,进行测试总结,编写测试报告。
二. 回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
单元测试:junit 、jtest 可以辅助进行单元测试,那么 如果使用这些工具呢?
三. 软件测试概述
软件测试就是在软件交付用户使用或投入运行前,对软件需求规格说明、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。软件测试在软件生命周期中横跨两个阶段:通常在编写出每一个模块之后就需要对它做必要的测试(称为单元测试)。编码和单元测试属于软件生命周期中的同一个阶段在结束这个阶段后对软件系统还要进行各种综合测试,如集成测试、系统测试、性能测试和配置测试等,这是软件生命周的另一个独立阶段,即测试阶段。
四. 软件测试目的:
1、测试的最终目的是为了避免错误的发生,确保应用程序能够正常高效的运行;
2、好的测试用例在于发现至今未发现的错误;
3、成功的测试是发现了至今未发现的错误的测试;
4、好的测试工程师应该做到不仅发现问题,还能够帮助开发人员分析问题;
五. 软件测试原则:
1、应把“尽早和不断地进行软件测试”作为软件开发者的座右铭,实践证明单元测试能够尽早发现问题,减少后期测试的错误量。可以采用Junit和Jtest来辅助进行单元测试
2、测试用例应由测试输入数据、测试执行步骤和与之对应的预期输出结果三部分组成。
 3、应当避免由程序员检查自己的程序。(指后期系统测试阶段,不包括单元测试)
 4、测试用例的设计要确保能覆盖所有可能路径。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。不合理的输入条件是指异常的,临界的,可能引起问题的输入条件。
5、充分注意测试中的集现象。经验表明,测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。应该对错误集的程序段进行重点测试。
6、严格执行测试计划,排除测试的随意性。
7、应当对每一个测试结果做全面的检查。
8、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 
9、所有的测试都应追溯到用户需求。正如我们所知:软件测试的目标在于揭示错误。而最严重的错误(从用户度来看)    是那些导致程序无法满足需求的错误。 ·应该在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后立即开始。因此,所有测试应该在任何代码被产生前就进行计划和设计。
六.软件测试计划
  测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源
要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等等以及评价标准。
七. 软件测试的对象
软件测试并不单纯等同于程序测试。软件测试应该贯穿整个软件定义与开发整个期间。因此需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应该是软件测试(评审)的对象。 在对需求理解与表达的正确性、设计与表达的正确性、实现的正确性以及运行的正确性的验证中,任何一个环节发生了问题都可能在软件测试中表现出来
八. 影响软件测试的因素
影响测试效率的因素很多,除了测试方法之外,主要因素还有人为因素、软件类型、错误类型、测试充分度等等。下面对这些因素作一个简要分析。
 1.人为因素
程序测试员需要学什么
软件测试中的许多工作是由人来完成的,因此,人为因素是影响测试效率的一个重要方面。这样的差异并非偶然,这是因为测试人员在应用一个测试方法时具有很大的灵活性,从而使测试人员的经验和学习能力可以有较大的发挥余地。所以只能采用越来越严格的测试方法和过程来有效地避免人为因素对测试效率的影响。
 2.软件类型
软件类型也是影响测试效率的一个重要因素。即使是同一个测试者,测试不同类型的软件的效率和发现软件错误的能力也是不尽相同的。测试什么类型的软件的效率较高则因人而异,这往往与测试者的相关知识、经验与专业训练有关。
 3.错误类型
 各种不同测试方法发现不同类型错误的能力也有所不同。错误类型的划分方法有多种。其中之一是把错误分成遗漏错误和多余错误:遗漏错误是指软件的实现中遗漏了一些处理和操作;多余错误是指代码中包含了不必要的处理和操作,而导致软件错误。还有一种分类是:初始化错误、控制错误、数据错误、计算错误、界面错误。统计数据表明,功能测试发现软
件中的初始化错误、控制错误和数据错误的能力比其他方法高,而静态测试方法发现计算错误、界面错误的能力则比其他方法强。
 4.测试充分度
测试充分度反映了一个测试是否得到了良好的执行,它直接关系到测试的效率。1993年Frankl和Weiss发现,只有当充分度十分接近100%时,才能使测试发现错误的能力得到发挥。因此,在测试软件时,必须设法使充分度十分接近100%,否则将难以保证测试质量。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。