软件测试定义:通过人工或者自动的手段,对于被测试对象进行检测的活动,目的在于发现被检测对象是否实现用户的需求,或者弄清实际结果与预期出现的结果有什么区别。

软件测试不只是针对于源代码的测试,它还包括说明文档以及配置数据。

      测试的目的,发现被测对象与用户需求之间的差异,寻找系统的bug;通过测试活动发现并解决这个缺陷,提升软件的质量;通过测试活动,获取被测对象的质量信息,为决策提供数据依据;通过测试活动,积累经验,预防缺陷,从而降低产品的质量风险。

       测试原则,测试证明软件存在缺陷;不可能执行穷尽测试;测试应该尽早启动,尽早启动;缺陷存在群集现象;杀虫剂悖论;不同的测试活动依赖不同的测试北京;不存在缺陷的谬论。

        软件测试的一个具体过程为:测试需求->测试计划->测试设计->测试实施->测试执行->测试报告

        软件测试的主要工作内容是验证和确认。验证是保证软件根据你所期望的来运行。确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;程序正确性的形式证明。确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。保证软件以正确的方式做了这个事情。确认通常分为静态确认和动态确认。静态是通过人工或程序分析来证明软件的正确性。动态是通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。软件测试在软件生存期中横跨两个阶段,通常在编写出每个模块之后都对它进行必要的测试,成为单元测试。编码和单元测试在同一阶段。在结束这一阶段之后还要对软件进行各种综合测试,成为测试阶段。