第一章
IEEE给出的定义——
软件测试是使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。
《软件测试技术基础》——
软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期、对软件产品(包括阶段性产品)进行验证和确认的活动过程。
2、软件测试的目的
软件质量:
1发现系统的错误
2 验证系统是否满足需求
3 为产品放行提供依据
4 改进开发流程
对于企业来说:
回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
测试的重要目的之一:发现软件中的缺陷
3、软件测试对象
阶段性文档(1 2 3):
1需求规格说明书 2概要设计规格说明书 3详细设计规格说明书
4源程序 5系统
最终产品文档(6 7):6用户手册 7帮助文档
4、软件质量保证人员与软件测试人员
同:两个岗位旨在提高软件的质量
异:软件测试人员SQC
1关心过程的产物2剖析开发出的软件
质量保证人员SQA
1全面质量管理 2过程改进
5、软件测试的原则
1所有的软件测试都应追溯到用户需求
2尽早地、不断地进行测试
3严格执行测试计划
4注重测试用例的设计
5程序员应该避免测试自己的程序
6增量测试,由小到大
7注意集群现象(二八定理)
8完全测试是不可能的
9测试维护
集群现象(二八定理)Pareto原则:测试发现的错误中80%很可能起源于20%的模块中。
6、测试用例
IEEE标准610(1990)的定义:
测试用例是一组测试输入、执行条件和预期结果的集合。其目的是要满足一个特定的目标,比如执行一条特的程序路径或检验是否符合一个特定的需求。
一组测试用例包含:1、用例的编号 2、测试标题 3、用例级别 4、预置条件
5、 *** 作步骤 6、预期结果
7、软件测试环境
软件测试环境= 软件+ 硬件+ 网络+ 历史数据
8、软件缺陷
软件从需求、设计、编码、测试一直到交付用户公开使用后的过程中,都可能产生和发现缺陷。
需求阶段最多,运行维护时花费代价最高。
9、软件测试分类
1)、按测试技术上分类(是否查看代码)
黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规 定正常用。也被称为功能测试或数据驱动测试。
白盒测试(测试代码):要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为结构测试或逻辑驱动测试。
灰盒测试:介于黑盒测试与白盒测试之间的测试,即要像黑盒测试那样关注输出对于输入的正确性;同时也关注内容表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。避免过度测试,精简冗余用例。
2)、按测试方式上分类(是否运行程序)
静态测试:是指不运行程序,对程序和文档进行分析与检查;静态测试技术又称为静态分析技术。
为了使计算机程序得以运行,计算机需要加载代码,同时也要加载数据,然后由处理器执行指令。整个过程可以总结为编译、链接、装载、执行。
1、编译
编译过程又可以被分为两个阶段:编译、汇编。
编译是指编译器读取字符流的源程序,对其进行词法与语法的分析,将高级语言指令转换为功能等效的汇编代码。
汇编器是将汇编代码转变成机器可以执行的命令,每一个汇编语句几乎都对应一条机器指令。汇编相对于编译过程比较简单,根据汇编指令和机器指令的对照表一一翻译即可。
2、链接
链接的主要内容是将各个模块之间相互引用的部分处理好,使得各个模块之间能够正确地衔接。链接又分为静态链接和动态链接:
静态链接是指在编译阶段直接把静态库加入到可执行文件中去,这样可执行文件会比较大;
动态链接则是指链接阶段仅仅只加入一些描述信息,而程序执行时再从系统中把相应动态库加载到内存中去。
3、装载
程序在经过链接后,得到了可执行文件,下一步就需要将可执行程序加载到内存中。
由于现代 *** 作系统均采用分页的方式来管理内存,所以 *** 作系统只需要读取可执行文件的文件头,之后建立起可执行文件到虚拟内存的映射关系,而不需要真正的将程序载入内存。
4、运行
加载器将可执行目标文件中的代码和数据从磁盘复制到内存中,然后通过跳转到程序的第一条指令或入口点来运行程序。
在程序的运行过程中,CPU发现有些内存页在物理内存中并不存在并因此触发缺页异常,此时CPU将控制权限转交给 *** 作系统的异常处理函数, *** 作系统负责将此内存页的数据从磁盘上读取到物理内存中。
在企业中,整个的开发的过程,从头到尾,大致可以分成五个大的阶段,分别是需求,设计,编码,测试,交付这五个阶段,这当中,位于软件公司内部管理的过程,详细划分又可以分为7步,如下所列:
相关系统分析员向用户初步了解需求,然后用WORD列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步定义好少量的界面。
系统分析员深入了解和分析需求,根据自己的经验和需求用WORD或相关的工具再做出一份文档系统的功能需求文档。这次的文档会清楚利用系统大致的大功能模块,大功能模块有哪些小功能模块,并且还列出相关的界面和界面功能。
开发者需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。
在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实现具体模块所涉及到的主要算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。
以上就是关于软件测试的知识点有哪些全部的内容,包括:软件测试的知识点有哪些、编写好一个程序后怎样测试谢谢、企业软件开发流程是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)