软件测试课件 软件测试就是利用测试工具按照测试方案对产品功能和性能测试,并对测试方案中可能出现的问题进行分析和评估。下面是小编整理的软件测试课件,欢迎阅读参考! 测试工作的主要内容是验证(Verification)和确认(Validation)。验证是保证软件正确地实现了一……
软件测试课件
软件测试就是利用测试工具按照测试方案对产品功能和性能测试,并对测试方案中可能出现的问题进行分析和评估。下面是小编整理的软件测试课件,欢迎阅读参考!
测试工作的主要内容是验证(Verification)和确认(Validation)。验证是保证软件正确地实现了一些特定功能地一系列活动,即保证软件做了你所期望的事情;而确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性,即保证软件以正确的方式来做这个事件。
软件测试的对象不仅仅是程序的测试,还应该包括整个软件开发期间各个阶段所产生的文档,如需求规约说明、各类设计文档等,而主要对象还是源程序。
为了保证测试的有效性和正确性,软件爱测试古城中应该满足一下的几大原则:
(1)开发人员而活开发组织应当避免测试自己的程序。
由开发人员来测试主机的代码是一件很不妥当的事情。开发和测试生来就是不同的活动。开发是创造或者建立某种事物的行为,如一个功能模块或整个系统。而测试的重要目的是证实一个模块或者一个系统工作不正常。这来年各个活动之间有着本质的矛盾。因此,不管是程序员还是是开发小组都应避免测试自己或者本组成员开发的功能模块。若条件允许,应当由独立于开发成员和客户的第三方来进行软件测试。但这并不是说程序员不能测试自己的程序,而且更加鼓励程序员进行调试,因为软件测试由独立测试机构承担有很多好处。独立测试可以避免软件开发者测试自己开发的软件,由于心理学上的问题,软件开发者难以客观、有效的测试自己的软件,要找出那些因为对问题的误解而产生的错误就更加困难。
(2)应尽早地和不断地进行软件测试。
应当把软件测试贯穿到整个软件开发的过程中,而不应该把软件测试看作是其过程中的—个独立阶段。因为在软件开发的每一环节都可能会产生意想不到的问题。如软件本身的抽象性、相复性、各个开发阶段的多样性,以及不同人员之间的配合关系等。因此,要坚持各开发阶段的确认与评斑,早发现错误,从而可以减少成本,提向软件质量。
(3)对测试用例要有正确的态度。
首先,测试用例应当由测试输入数据和与之对应的预期输出结果这两部分组成。测试以前应当根据测试的要求选择测试用例,以备测试过程中使用。其次,在进行测试用例的设计时,不仅要考虑合理的输入条件,更应该冬虑不合理的输入条件。因此,需要用一些不合理的输人条件来发现更多的鲜为人知的软件缺陷。
(4)充分注意测试中的群集现象。
人以群分,物以类聚,软件测试也不例外,一定要充分注意软件测试中的群集现象,也可以成为“80-20”原则。不要以为发现几个错误并且解决这些问题之后,就不需要测试了。反而这里是错误群集的地方,对这个段程序要重点测试,以提高测试投资的效益。
(5)应当对每一个测试结果进行全面检查。一定要全面地、仔细地检车测试结果,但常常被人们忽略,导致许多错误被遗漏。
(6)严格执行测试计划,排除测试的随意性,以避免发生错误或者重复无效的工作。
(7)妥善保存测试用例、测试计划、测试报告和最终分析报告,以备回归测试及维护之用。
总之,软件测试更适宜被视为视图发现程序中错误的破坏性的`过程。一个成功的测试,通过诱发程序发生错误,可以在这个方向上促进软件质量的改进。当然,最终人们还是要通过测试来是人们相信:软件做了其应该做的额,而没有做起不应该做的。在遵守以上原则的基础上行进行软件测试,可以以最少的时间而活人力找出软件中的各种缺陷,从而达到保证软件质量的目的。
软件测试的分类
单元测试:单元测试是对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。
集成测试:集成测试是在软件系统集成过程中所进行的测试。目的是检查软件单位之间的接口是否正确。
系统测试:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等是否满足其规约所指定的要求。
验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,向软件购买都展示该软件系统满足其用户的需求。
单元测试阶段:
模块接口测试
通过所测模块的数据流进行测试。调用所测模块时的输入参数与模块的形式参数的个数、属性和顺序是否匹配。
局部数据结构测试
局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确、模块的局部数据结构往往是错误的根源。
路径测试
对模块中重要的执行路径进行测试。
错误处理测试
比较完善的模块设计要求能遇见出错的条件,并设置适当的出错处理,以便在一旦程序出错时,能对出错程序重做安排,保证其逻辑上的正确性。
边界条件测试
软件经常在便捷上失效,边界条件测试是一项基础测试,也是后面系统测试中的功能测试的重点。
集成测试阶段:
在集成测试中,我们主要关注以下内容:
1.把各个模块连接起来时,穿越模块接口的数据据是否会丢失。
2.各个了模块组合起来,能否达到预期要求的功能。
3.一个模块的功能是否会对另一个模块的功能产生不利影响。
4.全局数据据结构是否有问题。
5.单个模块的误差积累起来是否会被放大,从而达到不可接受的程序。
系统测试阶段:
一般系统的主要测试工作都集中系统测试阶段。根据不同的系统,所进行的测试种类也很多。
功能测试:
功能测试是对产品的各功能进行验证,以检查是否满足需求的要求。
性能测试:
性能测试是通过自动化测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
安全测试:
安全测试检查系统对非法入侵的防范能力。
兼容测试:
兼容性测试主要是测试系统在不同的软硬件环境下是否能够正常的运行。
验收测试阶段:
功能确认测试
安全可靠性测试
易用性测试
可扩充性测试
兼容性测试
资源占用率测试
用户文档资料验收