`
binbin8497
  • 浏览: 46435 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

什么是软件测试:在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。
测试的目标:以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。
从测试的类型来看,测试分为2种:黑盒测试和白盒测试。
黑盒测试又称为功能测试或数据驱动测试,把系统看成一个黑盒子,不考虑程序的内在逻辑,只根据需求规格说明书的要求来检查程序的功能是否符合它的功能说明。
白盒测试又称为结构测试和逻辑驱动测试,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。
测试用例由测试输入数据以及与之对应的输出结果组成。测试用例设计的好坏直接决定了测试的效果和结果。
从测试实际的前后过程来看,软件测试上是由一系列的不同测试所组成,这些软件测试的步骤分为:单元测试、组装测试(集成测试)、确认测试和系统测试。软件开发的过程是自顶向下的,测试则正好相反,以上这些过程就是自底向上,逐步集成的。

单元测试(模块测试):针对每个模块进行的测试,可从程序的内部结构出发设计测试用例,多个模块可以平行地对立地测试。通常在编码阶段进行,必要的时候要制作驱动模块和桩模块。
集成测试:在单元测试的基础上,将所有模块按照设计要求组装成为系统,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。
确认测试:验证软件的功能和性能及其它特性是否与用户的要求一致。
系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试。

测试工作的文档主要有:测试计划、测试模型和用例设计或规格说明、测试分析报告等。从软件工程上说,这是属于软件配置的一部分。(我不知道,如果什么报告都没有,只是不断地摆弄执行程序,看到错误和问题就记下来,算不算真正的测试?)

测试需要一定的技术和工具

在用例设计过程中,可以考虑到很多方面,并且也有很多的指导方法和技术。

黑盒测试用例设计包括:

等价类划分:划分等价类--确立测试用例--设计用例
边界值分析:通过分析,考虑如何确立边界情况
错误推测法:靠经验和直觉来推测程序中可能存在的各种错误,从而有针对性地编写用例。可以列举出可能的错误和可能发生错误的地方,然后选择用例。
因果图:通过画因果图,在图上标明约束和限制,转换成判定表,然后设计测试用例。这适合于检查程序输入条件的各种组合情况。

功能图FD:通过形式化地表示程序的功能说明,并机械地生成功能图的测试用例。

白盒测试用例设计包括:

1 逻辑覆盖,以程序内在逻辑结构为基础的测试,包括以下5种类型:

1.1 语句覆盖:每一条可执行语句至少覆盖一次;
1.2 判定覆盖(分支覆盖):设计若干个测试用例,运行所测程序,使程序中每个判断的取真分支和取假分支至少执行一次;
1.3 条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的每个可能取值至少执行一次;
1.4 判定-条件覆盖:设计足够多的测试用例,运行所测程序,使程序中每个判断的每个条件的所有可能取值至少执行一次,并且每个可能的判断结果也至少执行一次;
1.5 条件组合测试:设计足够多的测试用例,运行所测程序,使程序中每个判断的所有可能的条件取值至少执行一次;
1.6 路径测试:设计足够多的测试用例,运行所测程序,要覆盖程序中所有可能的路径。

2 基本路径测试

在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下5个方面:
2.1 程序的控制流图:描述程序控制流的一种图示方法。
2.2 程序环境复杂性:McCabe复杂性度量。从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行依次所必须的测试用例数目的上界。
2.3 导出测试用例
2.4 准备测试用例,确保基本路径集中的每一条路径的执行
2.5 图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。

程序的静态分析方法

1 生成各种引用表、静态错误分析

2 人工测试:桌前检查、代码评审等

3 软件测试工具:包括静态分析工具、动态测试工具、测试数据自动化生成工具、模块测试台、测试合成环境

3.1 静态分析工具:语言程序的预处理器、数据库工具、错误分析器和报告生成器。直接扫描所测试的正文,对程序的数据流和控制流进行分析,然后送出测试报告。

3.2 动态测试工具:通过选择适当的测试用例,实际运行所测程序,比较实际运行结果和预期结果,发现错误。

3.3 测试数据自动化生成工具:包括路径测试数据生成程序、随机测试数据生成程序以及根据数据规格说明生成测试数据

3.4 模块测试台是一种专门的测试用例描述语言,负责将输入数据传送到所测试模块中,然后将实际输出结果与在描述测试用例的语言中所表述的期望结果进行比较,发现错误。另外,也包括其它的功能:语句跟踪、动态断句、覆盖度量、用户自定义符号表、内容表和输出格式。

3.5 测试合成环境:包括环境模拟程序,代码检查程序,测试文档生成程序,测试执行严整程序,输出比较程序,程序正确性证明程序等,以及各种调试工具。而且还有集成系统,集成了多种工具,如SADAT、Microsoft Test for Windows和PureArtria等。

分享到:
评论

相关推荐

    软件测试基础教程

    《软件测试基础教程》这本书籍提供了一个全面的平台,旨在帮助读者深入了解软件测试的各个方面,无论是手工测试还是自动化测试,都做了细致的讲解。这本书不仅为初入测试行业的人员提供了指导,也为经验丰富的测试...

    ic半导体测试基础(中文版)借鉴.pdf

    "IC半导体测试基础" IC半导体测试基础是指在IC半导体制造和测试过程中,对IC器件进行测试和评估,以确保其性能和可靠性。本文档介绍了IC半导体测试的基础知识,包括测试目的、测试方法和测试工具等。 一、测试目的...

    自动化测试基础PPT

    这份“自动化测试基础PPT”涵盖了自动化测试的核心概念,实施策略以及工具选择,旨在为初学者提供一个全面的理解。 1. **自动化测试的实施时机**:在软件生命周期的不同阶段,引入自动化测试有不同的考虑。通常,当...

    软件测试教程(软件测试基础理论)

    【软件测试基础理论】 在软件开发的生命周期中,软件测试占据着至关重要的位置,它确保产品的质量、稳定性和安全性。本教程将引导你逐步了解软件测试的基础理论,这对于初入测试领域的人员尤其重要。 1. **软件...

    软件测试基础(经典测试面试题答案)WORD版.rar

    软件测试基础(经典测试面试题答案)WORD版,可供学习参考。 软件测试面试题汇总 测试技术面试题 5 1、什么是兼容性测试?兼容性测试侧重哪些方面? 5 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序...

    软件测试工程师入门之软件测试基础PDF版借鉴.pdf

    软件测试工程师入门之软件测试基础 本资源摘要信息是关于软件测试工程师入门之软件测试基础的知识点总结。 一、软件测试概述 软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发...

    《软件测试基础教程》-杜文洁-电子教案-5345

    《软件测试基础教程》-杜文洁-电子教案- 共10个章节: 第01章 软件测试的基础理论-read 第02章 软件测试方法-read 第03章 软件测试流程-read 第04章 软件测试环境的搭建-read 第05章 软件测试用例设计-read 第06章 ...

    测试基础知识题库

    ### 测试基础知识概述 #### 1. 软件测试定义 - **定义**:软件测试是一种评估或验证软件产品以确定其是否符合既定标准的过程。 - **目的**: - 发现软件中的缺陷或错误。 - 验证软件是否满足需求规格说明书中定义...

    软件测试基础教程-电子教案

    《软件测试基础教程》是一本全面介绍软件测试理论与实践的教材,由杜文洁编著,涵盖了软件测试领域的核心概念和技术。这本教程共有十章,旨在为初学者提供一个扎实的软件测试知识体系,同时也适合作为行业人士的参考...

    软件开发- 软件测试基础

    【软件测试基础】是软件开发过程中的重要环节,旨在确保软件的质量和满足用户需求。测试的产生源于程序规模的快速增长,以及对需求准确理解和软件稳定性的追求。它不仅仅是程序员的辅助工作,也是软件生命周期中的...

    软件测试基础.docx

    软件测试基础是每个IT从业者,尤其是希望从事软件开发和质量保证工作的人士,必须掌握的知识领域。下面将详细讲解软件测试的基础知识。 一、软件测试定义与目标 1. 定义:软件测试是一种系统性的过程,用于评估...

    小强老师软件测试基础课程1-软件测试基础知识.

    小强老师的“软件测试基础课程1”着重讲解了软件测试的基础知识,这些知识构成了测试工程师的基石。以下是对该课程中可能涉及的重要知识点的详细阐述: 1. **软件测试定义与目标**:软件测试是为了发现软件中的错误...

    软件测试基础课件软件测试基础课件软件测试基础课件软件测试基础课件软件测试基础课件

    正如标题所示,软件测试基础课程的核心目标是确保学员们能够理解并掌握软件测试的基本原理与实践技巧。在软件开发的历程中,曾经存在过一个阶段,人们认为软件问题只存在于编码阶段,而忽视了测试的重要性。但随着...

    软件测试基础教程供初学者使用

    《软件测试基础教程》是一本面向初学者的指导性教材,旨在系统地介绍软件测试的基本概念、原理和方法。在软件开发过程中,测试是至关重要的一个环节,它确保产品的质量和性能,防止潜在的问题影响用户体验。本教程将...

    游戏测试基础知识

    游戏测试基础知识 游戏测试是游戏开发中不可或缺的一部分,它贯穿于整个开发进程中。游戏测试的目的是为了找到游戏代码或设计中的缺陷,并说明游戏中哪个部分能否正常运行。 测试员在进行游戏测试时需要具备一定的...

    软件测试ppt学习课件,软件测试基础教程PPT

    《软件测试基础教程PPT》是一份全面介绍软件测试理论与实践的学习课件,适合对软件测试感兴趣的初学者以及希望深化测试技能的工程师们。这份资料涵盖了软件测试的基础概念、测试流程、方法论以及实际操作技巧,旨在...

    《软件测试基础与测试案例分析》 张坤 李媚...编著-课件ppt

    《软件测试基础与测试案例分析》是一本由张坤、李媚和王向共同主编的专业教材,主要针对软件测试的学习者和从业者。该书深入浅出地介绍了软件测试的基础理论和实践技巧,通过丰富的案例分析,帮助读者理解和掌握测试...

    软件测试基础知识汇总

    软件测试基础知识汇总 软件测试是软件开发生命周期中的一部分,它的主要目的是为了确保软件产品的质量和可靠性。软件测试不仅仅是简单地运行软件,看看是否有错误,而是要根据软件的需求和设计,对软件进行详细的...

Global site tag (gtag.js) - Google Analytics