软件测试14种类型(精)
- 格式:doc
- 大小:21.00 KB
- 文档页数:9
软件测试技术复习资料⼀、填空题1. 完整的测试应包括(制定测试计划)(设计测试⽅案)(测试准备和测试环境的搭建)(执⾏测试)(测试评估)。
2. 设计测试⽤例时应包括(输⼊数据)和(预期结果)。
6.对⾯向过程的系统采⽤的集成策略有_____⾃顶向下集成______________、_________________⾃底向上集成__两种。
7.软件测试主要分为__单元测试、集成测试、系统测试、验收测试_四类测试。
8.⿊盒测试⽤例设计⽅法包括等价类划分、边界值分析、_以及_____因果图,错误推测法等。
9.测试⼯作就是进⾏输⼊、接受输出、检验结果,不深⼊代码细节,这样的测试⽅法称为________⿊盒测试________,10.⽩盒测试是根据程序的(内部逻辑)来设计测试⽤例1、在测试执⾏结束后应该提交的⽂档有:测试问题报告、测试记录报告、阶段问题统计报告。
2、在测试总结后应该提交的⽂档有:测试问题分析报告、测试总结报告。
3、RAD⽅法中由于根本的需求没有被冻结,所以⽤户在设计的过程中是迭代的。
4、在RAD环境的测试是基于开发过程中的⽤户改进迭代。
5、在RAD⽅法中由于设计、编码和集成的反复循环性,导致了测试的设计、执⾏等的循环性。
6、测试项⽬的流程中⼀般有测试策划、测试设计、测试准备、测试执⾏、测试总结五个阶段。
7、在测试规划过程中,应对测试内容、测试需求的资源、测试通过的标准、测试进度和风险进⾏计划。
8、在测试设计过程中,应做出测试计划、测试⽤例,并要经过评审。
9、在执⾏测试的过程中应该注重⽤例执⾏时系统的实际动作和输出的真实准确记录。
10、所有的测试都应追溯到⽤户需求。
11、在集成测试的过程中,由于采⽤的测试策略不同,需要集成测试⼈员⾃⼰去编写驱动器和桩模块。
12、软件=程序+数据+⽂档+服务。
13、代码评审主要做代码审查⼯作。
14、软件测试主要分为单元,集成,系统,验收四类测试。
15、测试⼈员A在测试中发现系统20个缺陷,测试⼈员B在系统中发现了30缺陷,他们有5个缺陷是⼀样的,从理论上分析,系统⼤概存在120个缺陷?测试员A发现n个缺陷,B发现m个缺陷,共同缺陷m1个,理论上总的缺陷N=m/m1*n16、⽹络通讯三个要素,包括协议、IP、端⼝。
软件测试⾯试题及答案(史上最全)以下是软件测试相关的⾯试题及答案,欢迎⼤家参考! 1、你的测试职业发展是什么? 测试经验越多,测试能⼒越⾼。
所以我的职业发展是需要时间积累的,⼀步步向着⾼级测试⼯程师奔去。
⽽且我也有初步的职业规划,前3年积累测试经验,按如何做好测试⼯程师的要点去要求⾃⼰,不断更新⾃⼰改正⾃⼰,做好测试任务。
2、你认为测试⼈员需要具备哪些素质 做测试应该要有⼀定的协调能⼒,因为测试⼈员经常要与开发接触处理⼀些问题,如果处理不好的话会引起⼀些冲突,这样的话⼯作上就会不好做。
还有测试⼈员要有⼀定的耐⼼,有的时候做测试很枯燥乏味。
除了耐⼼,测试⼈员不能放过每⼀个可能的错误。
3、你为什么能够做测试这⼀⾏ 虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个⼯作的,因为做软件测试不仅是要求技术好,还有有⼀定的沟通能⼒,耐⼼、细⼼等外在因素。
综合起来看我认为我是胜任这个⼯作的。
4、测试的⽬的是什么? 测试的⽬的是找出软件产品中的错误,是软件尽可能的符合⽤户的要求。
当然软件测试是不可能找出全部错误的。
5、测试分为哪⼏个阶段? ⼀般来说分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试 6、单元测试的测试对象、⽬的、测试依据、测试⽅法? 测试对象是模块内部的程序错误,⽬的是消除局部模块逻辑和功能上的错误和缺陷。
测试依据是模块的详细设计,测试⽅法是采⽤⽩盒测试。
7、怎样看待加班问题 加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。
8、结合你以前的学习和⼯作经验,你认为如何做好测试。
根据我以前的⼯作和学习经验,我认为做好⼯作⾸先要有⼀个良好的沟通,只有沟通⽆障碍了,才会有好的协作,才会有更好的效率,再⼀个就是技术⼀定要过关,做测试要有⾜够的耐⼼,和⼀个良好的⼯作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试⼯作。
9、你为什么选择软件测试⾏业 因为之前了解软件测试这个⾏业,觉得他的发展前景很好。
软件测试的14种类型软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。
本文主要描述软件测试的类型。
1,,,,,数据和数据库完整性测试数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
数据库完整性原即:主码完整性:主码不能为空;外码完整性:外码必须等于对应的主码或者为空。
数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
在项目名称中,数据库和数据库进程应作为一个子系统来进行测试。
在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。
对于数据库管理系统,,,,,(DBMS),还需要进行深入的研究,以确定可以支1持测试的工具和技术。
比如,有两张表:部门和员工。
部门中有部门编号,部门名称,部门经理等字段,主码为部门编号;员工表中有员工编号,员工所属部门编号,员工名称,员工类型等字段,主码为员工编号,外码为员工所属部门编号,对应部门表。
如果在某条部门记录中部门编号或员工记录员工编号为空,他就违反主码完整性原则。
如果某个员工所属部门的编号为##,但是##在部门编号中确找不到,这就违反外码完整性原则。
员工类型如下定义:0:职工,1:职员,2:实习生。
但数据类型为Int,我们都知道Int占有4个字节,如果定义成char(1).就比原来节约空间。
2,,,,,白盒测试白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
白盒测试分为动态白盒测试和静态白盒测试2.1,,,,,静态白盒测试利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。
比如,代码规范中规定,函数必须为动宾结构。
而黑盒测试发现一个函数定义如下:Function,,,,,NameGet(){….}这是属于不符合开发规范的错误。
考试大纲基本要求:1.熟悉软件质量、软件测试及软件质量保证的基础知识;2.掌握代码检查、走查与评审的基本方法和技术;3.掌握白盒测试和黑盒测试的测试用例的设计原则和方法;4.掌握单元测试和集成测试的基本策略和方法;5.了解系统测试、性能测试和可靠性测试的基本概念和方法;6.了解面向对象软件和WEB应用软件测试的基本概念和方法;7.掌握软件测试过程管理的基本知识和管理方法;8.熟悉软件测试的标准和文档;9.掌握QESuite软件测试过程管理平台和QESat/C++软件分析和工具的使用方法。
考试内容:一、软件测试的基本概念1.软件质量的概念。
2.软件测试的目标和原则。
3.软件测试的心理学。
4.软件测试的经济学。
5.软件质量保证。
二、软件测试的类型及其在软件开发过程中的地位1.软件开发阶段。
2.规划阶段的测试。
3.设计阶段的测试。
4.编码阶段的测试。
5.验收和维护阶段的测试。
三、代码检查、走查与评审1.桌面检查。
2.代码走查。
3.代码检查。
4.同行评审。
四、覆盖率(白盒)测试1.覆盖率测试。
2.逻辑结构的覆盖率测试。
3.路径覆盖率测试。
4.数据流测试。
5.程序变异测试。
6.基于覆盖的测试用例选择。
五、功能(黑盒)测试1.边界值测试。
2.等价类测试。
3.基于因果图的测试。
4.基于决策表的测试。
5.基于状态图的测试。
6.基于场景的测试。
7.比较测试。
六、单元测试和集成测试1.单元测试的目标和模型。
2.单元测试策略。
3.单元测试分析。
4.单元测试的测试用例设计原则。
5.集成测试基本概念。
6.集成测试策略。
7.集成测试分析。
8.集成测试用例设计原则。
七、系统测试1.系统测试概念。
2.系统测试方法。
3.系统测试的实施。
八、软件性能测试和可靠性测试1.软件性能的概念。
2.性能测试的执行。
3.软件可靠性的概念。
4.可靠性预计。
5.可靠性分析方法。
6.软件可靠性测试的执行。
九、面向对象软件的测试1.面向对象软件测试的问题。
第1章1. 重要1.软件测试的正面性观点【验证软件正常工作】✧软件测试就是为程序能够按预期设想那样运行而建立足够的信心✧【软件测试是一系列活动已评价一个程序或系统的特性或能力是否达到预期的结果】✧测试是为了验证软件是否符合用户需求,即验证软件产品是够能正常工作2.软件测试的反面性观点【测试是为了证明成粗有错误】测试是为了发现错误而执行的一个程序或者系统的过程3.IEEE 的软件测试定义使用人工或自动手段来运行或测试某个系统的过程,其目的是在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别4.什么是“验证“验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性5.什么是“有效性确认”“有效性确认”是确认所开发的软件是否满足用户真正需求的活动[软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体]6.软件测试和软件开发的关系2. 次重要1.为什么要进行软件测试1.软件总存在缺陷2.软件中存在的缺陷给我们带来的算是是巨大的3.测试所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。
4.软件人员水平越高,找出问题的时间越早,软件越容易更正,产品发布后越稳定2.软件测试的其它观点风险的观点:软件测试就是对风险的不断评估,引导软件开发的工,进而将最终发布的软件所存在的风险降到最低经济的观点:以最小的代价获得最高的软件产品质量第2章1. 重要1.ISO 8492对质量的定义质量是产品或服务多满足明示或暗示需求能力的固有特性和特征的集合2.IEEE对软件质量的定义软件产品满足规定的和隐含的于需求能力有关的全部特性和特征3.McCall软件质量模型4.IEEE (1983) 729 软件缺陷一个标准的定义从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。
软件测试主要从以下16种类型进行测试:一:功能测试(10个方面)菜单、工具栏、快捷键、下拉框、按钮、单选按钮、复选按钮、切换、链接、触发键二:界面测试登陆界面、总界面、输入界面(增、删、改、查)、处理界面、输出界面、报表界面、提示界面三:容错测试数据长度、数据类型、非法此操作四:接口测试接口测试也叫业务流程测试(包括功能模块之间、模块与模块之间、子系统之间)内部接口:例如:导入、导出(通俗的讲是接口就是调用)外部接口:五:性能测试(TPS吞吐量、响应速度、cpu占用率、内存占用率)平均吞吐量:单位时间内处理事务的个数平均响应速度:做一个事务处理所用时间例如:界面操作效率测试;报表输出及查询效率测试六:负载测试(压力测试、强度测试、容量测试)压力测试即就是大用户测试(针对B/S而言)容量测试即就是大数据量测试七:并发测试指多个用户在同一时间对同一条数据的删除或者修改等处理八:稳定性测试例如:1小时触发600条信息,那么8个、10个等发信息的条数测试九:恢复测试突然断电(系统触发正常启动;数据包要在断电的地方继续进行处理)十:配置测试最低配置:推荐配置:大多数用户所用的配置十一:安装测试安装过程;卸载过程十二:文档测试交给用户的文档。
例如:系统帮助、用户使用手册、用户安装手册十三:可用性测试(纯粹靠经验)十四:初始化测试是指系统刚刚安装完成后,在数据位空的情况下,如果被调用的模块为空,点击调用模块的时候,是否进行容错的测试。
十五:数据完整性测试是指当主表的某一条件信息被删除后,和这一条相关的从表的信息都应该被删除。
如果某些数据的主键是由数据库本身而实现的,可以不用删除,如果有些主从表是由程序员写的代码而实现,则要进行数据完整性的测试。
16种测试类型归类1)此软件能做什么?针对数据进行”功能、接口、容错、界面、权限、初始化、数据完整性测试“2)软件做的怎么样?性能、负载、恢复、稳定性、并发、系统安全3)软件在什么环境条件下做?配置、安装、文档、可用性7、测试计划的目的是什么?测试计划工作的内容包括什么?其中哪些是最重要的?软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。
软件系统测试类型及测试用例设计摘要:系统测试是提高软件质量和可靠性的一种有效方法,本文介绍了常见的系统测试类型,并且结合具体的软件测试过程,对系统测试用例设计方法进行了分析和总结,具有较强的实用性。
关键词:软件测试;系统测试;测试用例;测试方法0 引言随着航空型号功能的日趋复杂,软件在型号中的应用越来越多,其规模和复杂度也日趋上升。
由软件所导致的问题的比例也在上升,软件已经成为影响航空型号产品质量和可靠性的关键因素之一。
软件测试作为软件研制的重要环节,其是否充分、有效,将直接影响到软件产品的质量[1]。
软件测试类型按照开发阶段分为单元测试、部件测试、配置项测试和系统测试[2]。
对于航空型号软件而言,系统测试是最重要的测试,它能够发现软件中潜藏的时序、软硬件接口等方面的问题。
1 系统测试概述系统测试是在真实系统工作环境下或系统仿真环境下检验完整的软件配置项能否和系统正确连接,并满足系统设计文档的要求[3]。
系统测试过程描述见图1。
图1 系统测试过程2 系统测试类型及测试用例设计要求常见的系统测试类型分为功能测试、性能测试、边界测试、接口测试、余量测试、安全性测试、强度测试等[3]。
不同的测试类型,在设计测试用例时,其测试点各有不同,下面结合测试实践经验,对不同的测试类型的测试点进行分析。
2.1 功能测试功能测试是对软件需求规格说明中的功能需求逐项进行的测试,以验证其功能是否满足要求。
其测试点包括:1)用正常值的等价类输入数据值测试;2)用非正常的等价类输入数据值测试;3)进行每个功能的合法边界和非法边界值输入的测试;4)用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果;5)对控制流程的正确性、合理性等进行验证。
功能测试是最基本的测试,同时也是最重要的测试。
在进行功能测试时,首先要明确功能测试的正常等价类,同时在用例设计中别遗漏了正常等价类;根据输入数据的属性展开想象,设计非正常的功能测试用例,并且注意预期结果;设计测试用例时,一方面分析输入数据,另一方面分析操作流程。
软件测试工程师入门之软件测试基础责任编辑:晓熊作者:ITPUB论坛2009-04-14【内容导航】∙第1页:软件测试概述∙第2页:软件测试的类型文本Tag: 软件测试【IT168 技术文档】一、软件测试概述软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。
软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。
第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。
第三软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程。
如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。
因此软件测试的第三个目的是保证整个软件开发过程是高质量的。
软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right at the right time.)。
二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。
三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Quality is defined as conformance to requirements, not as “goodness” or “elegance”.)。
四、质量也代表着它符合客户的需要(Quality also means “meet customer needs”.)。
作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。
只有这些问题都解决了,软件产品的质量才可以说是上去了。
第一章软件测试概述主要内容:软件测试的分类,软件测试产生的背景,软件测试的概念和意义,软件测试工程必备的基本素质。
1. 软件的概念软件是计算机系统中于硬件相互依存的另一部分,它是包含程序,文档和数据的完整集合。
2. 软件的特点✧软件是一种逻辑实体,不是具体的物理实体,具有抽象性。
✧软件的产生与硬件的不同。
✧软件的运行和使用没有机械的磨损和老化。
✧软件的开发和运行对计算机系统有一定的依赖性。
✧软件的开发目前还没有摆脱手工方式。
✧软件是复杂的。
✧软件成本是相当昂贵的。
3. 软件的分类3.1 按软件的功能划分✧系统软件:包括操作系统,系统使用工具✧支持软件:是协助用户开发软件的工具性软件。
✧应用软件:在特定领域内开发,为特定目的服务的一类软件。
3.2 按软件的技术特点划分✧业户管理软件:用于处理日常信息,如管理信息系统MIS,企业资源规划系统ERP,决策支持系统DSS,客户关系管理系统CRM✧科学计算软件:注重算法精度和速度用于研究领域。
✧桌面软件:用于计算机视觉效果和设置。
✧嵌入式软件:用于各种自动化,智能化的工业产品。
✧个人计算机软件:各种常用的软件,如输入法,浏览器。
✧人工智能软件:模仿人类逻辑判断能力的一种软件,如“深蓝”。
3.3 按软件部署结果划分✧单机版软件:不需要与其他计算机交互的软件,如office。
✧分布式软件:安装在多台计算机上进行协同工作的软件,可以进一步划分为:c/s结果软件和b/s结果软件。
4.软件测试的概念,意义和目的4.1 软件测试的概念✧美国电子电器工程师协会(IEEE)给软件测试的定义:使用人工或自动的手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差距。
⏹人工或自动的手段:说明了实现测试的两种途径,即手工测试即自动化测试。
⏹运行或测试:说明了现实测试的两种策略,即动态测试和静态测试。
⏹满足规定的需求:即满足客户对产品的需求。
上海兴汉科技公司软件测试规范目录一.概述............................................................. 错误!未定义书签。
二软件测试理论..................................................... 错误!未定义书签。
1.什么是软件测试................................................ 错误!未定义书签。
2.软件测试的目标................................................ 错误!未定义书签。
三.软件测试流程..................................................... 错误!未定义书签。
1.软件测试流程图................................................ 错误!未定义书签。
2.软件测试流程细则.............................................. 错误!未定义书签。
3.软件测试注意事项.............................................. 错误!未定义书签。
四.软件测试类型..................................................... 错误!未定义书签。
1.模块测试...................................................... 错误!未定义书签。
2.子系统测试.................................................... 错误!未定义书签。
3.系统测试...................................................... 错误!未定义书签。
一、基础知识1、什么是软件测试,软件测试的目的是啥?2、什么是测试计划?都包括啥?什么是测试方案,什么是测试策略?测试方案包含哪些内容?测试用例设计方法有哪些?测试用例内容有哪些?3、测试用例为什么需要分级,如何分级别?测试用例需要哪些人来评审?评审的目的是什么?好的测试用例关键点是什么?不能发现BUG的测试用例不是好的测试用例吗?4、测试分为哪几个阶段?5、软件测试类型都有哪些?你进行过哪些测试,擅长什么?6、软件缺陷等级划分7、缺陷生命周期8、测试生命周期9、为什么要进行交叉测试?10、α、β测试是什么,两者的区别是什么?11、什么是驱动模块、桩模块12、什么是白盒测试,有几种方法13、测试结束标准14、测试报告包含哪些内容?15、项目中的需求,测试可以和客户沟通吗?不确定的需求怎么解决?16、你认为测试人员需要具备哪些素质?开发犯低级错误怎么办?开发说不是bug怎么办?你为什么能够做测试这一行?你的职业规划?17、如何测试纸杯二、接口测试1、什么是API?什么是API测试?2、常见的API测试点有哪些?API测试中使用的一些常用协议?用于API测试的工具?最常用的API文档模板?3、API和Web服务之间的区别?4、什么是Soap?什么是Rest API?SOAP和REST的区别?5、API常见测试有哪些?API测试有哪些优势?API测试中验证哪些内容?6、API测试、单元测试和UI测试之间的区别?7、API测试中可能会遇到哪些问题?8、执行API测试时我们一般会发现哪些BUG类型呢?9、接口测试用例的编写要点有哪些?10、列举一些最常用的HTTP方法?常见的响应状态码及意义11、可以使用GET请求而不是POST请求来创建资源吗?POST和GET有什么区别?12、PUT和POST方法有什么区别?13、接口产生的垃圾数据如何清理?测试的数据你放在哪?14、你们怎么做的参数化?15、接口测试的步骤有哪些?API测试设计的原理是?16、异步接口怎么测试?17、请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?18、怎么设计接口测试用例?19、下个接口请求参数依赖上个接口的返回数据?依赖于登录的接口如何处理?依赖于第三方数据的接口如何进行测试?20、不可逆的操作,如何处理,比如删除一个订单这种接口如何测试21、json和字典dict的区别?三、性能测试1、性能测试包含了哪些软件测试(至少举出3种)?2、请问什么是性能测试、负载测试、压力测试?3、在给定的测试环境下进行,考虑被测系统的业务压力量和典型场景?4、什么时候可以开始执行性能测试?5、简述性能测试的步骤。
第一章第一讲软件测试背景1.软件= 程序+ 文档+ 数据第二讲软件测试基础知识1.测试的含义首先是一项活动,在这项活动中某个系统或组成的部分将在特定的条件下运行,结果将被观察和记录,并对系统或组成部分进行评价。
2.软件测试使用人工或自动化手段,来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别(IEEE)3.软件测试的根本目的发现\修改缺陷满足需求,提高用户满意程度优化软件品质一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。
4.软件测试对象1)软件测试不等于程序测试2)软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序、用户文档都是软件测试的对象在软件生命周期中,每个阶段都有不同的测试对象,形成了不同开发阶段的不同类型的测试。
5.软件测试分类a)测试组织:开发方+用户方+第三方b)测试用例设计方法:黑盒+白盒+灰盒c)测试策略与过程:单元—>集成—>系统—>验收d)基本要求和适用要求:功能、性能e)回归测试、冒烟测试、随机测试按测试组织:开发方测试、用户测试、第三方测试按测试技术:黑盒测试(不去看代码)、白盒测试、灰盒测试是介于白盒测试与黑盒测试之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。
按测试过程:单元测试、集成测试、系统测试、验收测试.按测试类型:功能、性能、界面、易用性测试、兼容性测试、安全性测试、安装测试(单元测试:在编码过程中,对每个小程序单元测试)(集成测试:将单元集成在一起后,可称为组件)回归测试、冒烟测试、随机测试(冒烟测试:是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性。
一、软件测试1、软件测试的目的软件测试是指为了度量和提高被测试对象的质量、对测试对象进行工程设计、使用和维护的与软件开发过程并发的生命周期过程。
软件测试的目的为:验证软件产品的实现状态以及实现质量。
2、软件测试相关概念2.1白盒测试指基于程序结构的测试,测试目标是检查程序内部逻辑结构和逻辑路径,是代码级的测试。
2.2黑盒测试基于程序功能的测试,根据输入输出的关系推断程序功能的正确性。
2.3测试用例测试方案,包括数据输入和相应的期望输出。
依据测试用例来执行具体操作。
2.4预防性测试其原理为:只要测试在生命周期中进行得足够早,就能够提高待测软件的质量。
2.5测试风险分析其目的为:确定测试对象、测试的优先级、测试的深度。
2.6软件测试模型公司目前采用V模型,实现测试与软件开发的同步进行。
2.7等价类划分将测试对象按某种约定划分为有限个组成部分,提高测试的有效性。
2.8边界值分析分析测试对象的所有边界值及边界附近的临界值。
二、测试工作流程三、开发—测试流程说明:1、新版本提供时间,由程序员与测试员按实际情况协调;2、BUG审核的范围包括对BUG的抽查;对标注为不修改或待讨论BUG的管理;3、软件涉及到功能性修改时,应该先提供修改设计说明,讨论通过后方可进行修改。
四、测试角色与职责五、BUG主要参数1、当前状态记录BUG的状态,包括已修改、未修改、已验证。
2、严重程度BUG严重程度分为四个级别级别一:死机,数据丢失,主要功能完全丧失,系统悬挂级别二:主要功能丧失,导致严重的问题,或致命的错误声明级别三:次要功能丧失,不太严重,如提示信息不太准确级别四:微小的问题,对功能几乎没有影响,产品及属性仍可使用,如有错别字3、修改次数指同样BUG重复修改的次数,是衡量开发人员工作效率的重要依据;4、优先级别:分为四个级别级别一:必须立即修改;级别二:一天内修改;级别三:三天内修改级别四:短期内无须解决或在下一版本中解决说明:严重程度越高,优先级越高,原有错误优先级高于新版本错误。
软件测试的14种类型软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。
本文主要描述软件测试的类型。
1.数据和数据库完整性测试1.数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。
2.数据库完整性原即:3.主码完整性:主码不能为空;4.外码完整性:外码必须等于对应的主码或者为空。
5.数据合理性指数据在数据库中的类型,长度,索引等是否建的比较合理。
2.白盒测试白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。
白盒测试分为动态白盒测试和静态白盒测试2.1 静态白盒测试利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。
比如,代码规范中规定,函数必须为动宾结构。
而黑盒测试发现一个函数定义如下:2.2 动态白盒测试利用开发工具中的调式工具进行测试。
比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。
3.功能测试功能测试指测试软件各个功能模块是否正确,逻辑是否正确。
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。
这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。
此类测试基于黑盒技术,该技术通过图形用户界面(GUI 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。
功能测试的主要参考为类似于功能说明书之类的文档。
比如一个对电子商务系统,前台用户浏览商品-放入购物车-进入结账台,后台处理订单,配货,付款,发货,这一系列流程必须正确无误的走通,不能存在任何的错误。
4.UI测试UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等用户界面(UI 测试用于核实用户与软件之间的交互。
UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。
另外,UI 测试还可确保UI 中的对象按照预期的方式运行,并符合公司或行业的标准。
包括用户友好性,人性化,易操作性测试。
UI测试比较主观,与测试人员的喜好有关比如:页面基调颜色刺眼;用户登入页面比较难于找到,文字中出现错别字,页面图片范围太广等都属于UI测试中的缺陷,但是这些缺陷都不太严重。
5.性能测试性能测试主要测试软件测试的性能,包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试5.1.负载测试负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
比如,在B/S结构中用户并发量测试就是属于负载测试的用户,可以使用webload工具,模拟上百人客户同时访问网站,看系统响应时间,处理速度如何?5.2.强度测试强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。
这类测试往往可以书写系统要求的软硬件水平要求。
实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。
如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。
而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽而造成的。
强度测试还可用于确定测试对象能够处理的最大工作量。
比如:一个系统在内存366M下可以正常运行,但是降低到258M下不可以运行,告诉内存不足,这个系统对内存的要求就是366M。
5.3.数据库容量测试数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。
数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。
容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。
做这种测试通常通过书写存储过程向数据库某个表中插入一定数量的记录,计算相关页面的调用时间。
比如,在电子商务系统中,通过insert customer 往user表中插入10 000数据,看其是否可以正常显示顾客信息列表页面,如果要求达到最多可以处理100 000个客户,但是顾客信息列表页面不能够在规定的时间内显示出来,就需要调整程序中的SQL 查询语句;如果在规定的时间内显示出来,可以将用户数分别提高到20 000 , 50 000, 100 000进行测试。
5.4.基准测试基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。
如果你要开发一套财务系统软件并且你已经获得用友财务系统的性能等数据,你可以测试你这套系统,看看哪些地方比用友财务系统好,哪些地方差? 以便改进自己的系统,也可为产品广告提供数据。
5.5.竞争测试软件竞争使用各种资源(数据纪录,内存等,看他与其他相关系统对资源的争夺能力。
比如:一台机器上即安装您的财务系统,又安装用友财务系统。
当CPU占有率下降后,看看是否能够强过用友财务系统,而是自己的系统能够正常运行。
6.安全性和访问控制测试安全性和访问控制测试侧重于安全性的两个关键方面:1 应用程序级别的安全性,包括对数据或业务功能的访问2 系统级别的安全性,包括对系统的登录或远程访问。
6.1.应用程序级别的安全性可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。
例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。
如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据,而“用户二”只能看见同一客户的统计数据。
比如B/S系统,不通过登入页面,直接输入URL,看其是否能够进入系统?6.2 系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。
比如输入管理员账户,检查其密码是否容易猜取,或者可以从数据库中获得?7.故障转移和恢复测试故障转移和恢复测试指当主机软硬件发生灾难时候,备份机器是否能够正常启动,使系统是否可以正常运行,这对于电信,银行等领域的软件是十分重要的。
故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。
故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。
在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下,以产生故障(例如设备输入/输出(I/O 故障或无效的数据库指针和关健字。
然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。
一定要注意定时备份,比如电信系统,突然主机程序发生死机,备份机器是否能够启动,使系统能够正常运行,从而不影响用户打电话?8.配置测试又叫兼容性测试。
配置测试核实测试对象在不同的软件和硬件配置中的运行情况。
在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。
客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
(如浏览器版本,操作系统版本等下面列出主要配置测试8.1 浏览器兼容性1 测试软件在不同产商的浏览器下是否能够正确显示与运行;2 比如测试IE,Natscape浏览器下是否可以运行这套软件?8.2 操作系统兼容性1 测试软件在不同操作系统下是否能够正确显示与运行;2 比如测试WINDOWS98,WINDOWS 2000,WINDOWS XP,LINU, UNIX下是否可以运行这套软件?8.3 硬件兼容性1 测试与硬件密切相关的软件产品与其他硬件产品的兼容性,比如该软件是少在并口设备中的,测试同时使用其他并口设备,系统是否可以正确使用.2 比如在INTER,舒龙CPU芯片下系统是否能够正常运行?3 这样的测试必须建立测试实验室,在各种环境下进行测试。
9.安装测试安装测试有两个目的。
第一个目的是确保该软件在正常情况和异常情况的不同条件下: 例如,进行首次安装、升级、完整的或自定义的安装_都能进行安装。
异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。
这通常是指运行大量为功能测试制定的测试。
安装测试包括测试安装代码以及安装手册。
安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据。
10.多语种测试又称本地化测试,是指为各个地方开发产品的测试,如英文版,中文版等等,包括程序是否能够正常运行,界面是否符合当地习俗,快捷键是否正常起作用等等,特别测试在A语言环境下运行B语言软件(比如在英文win98下试图运行中文版的程序,出现现象是否正常。
本地化测试还要考虑:1 当语言从A翻译到B,字符长度变化是否影响页面效果。
比如中文软件中有个按键叫“看广告”,翻译到英文版本中为“View advertisement” 可能影响页面的美观程度2 要考虑同一单词在各个国家的不同意思,比如football在英文中为足球,而美国人使用中可能理解为美式橄榄球。
3 要考虑各个国家的民族习惯,比如龙个美国中被理解邪恶的象征,但翻译到中国,中国人认为为吉祥的象征。
11.文字测试文字测试测试软件中是否拼写正确,是否易懂,不存在二义性,没有语法错误;文字与内容是否有出入等等,包括图片文字。
比如:“比如,请输入正确的证件号码!”何谓正确的证件号码,证件可以为身份证,驾驶证,也可为军官证,如果改为“请输入正确的身份证号码!”用户就比较容易理解了。
12.分辨率测试测试在不同分辨率下,界面的美观程度,分为800*600,1024*768,1152*864, 1280*768,1280*1024,1200*1600大小字体下测试。
一个好的软件要有一个极佳的分辨率,而在其他分辨率下也都能可以运行。
13.发布测试主要在产品发布前对一些附带产品,比如说明书,广告稿等进行测试13.1 说明书测试主要为语言检查,功能检查,图片检查语言检查:检查说明书语言是否正确,用词是否易于理解;功能检查:功能是否描述完全,或者描述了并没有的功能等;图片检查:检查图片是否正确13.2 宣传材料测试主要测试产品中的附带的宣传材料中的语言,描述功能,图片13.3 帮助文件测试帮助文件是否正确,易懂,是否人性化。