软件测试基础知识
- 格式:docx
- 大小:13.54 KB
- 文档页数:3
第一章测试基础软件测试的定义:使用人工和自动的手段来运行或测试某个系统的过程。
其目的是检验它是否满足规定的需求或弄清预期结果与实际结果间的差别。
软件测试的目的:证明检测预防证明:1)获取系统在可接受风险范围内可用的信心2)尝试在非正常情况和条件下的功能和特性3)保证一个工作产品是完整的且可用或可被集成的检测:1)发现缺陷,错误和系统不足2)定义系统能力和局限性3)提供组件、工作产品和系统的质量信息预防:1)通过将测试活动提前介入到软件生命周期中,尽早的发现并消除前期研发阶段引入的缺陷,以防止前期缺陷遗留并放大到后续环节2)通过对发现的缺陷进行分析,找出导致这些缺陷产生的流程上的不足,通过改进流程,预防同类缺陷再次产生软件生命周期:计划->需求分析->概要设计->详细设计->编码->测试->运行维护1)计划:SDP (软件研发计划) UTP(单元测试计划)SVVP(软件验证与确认计划) ITP (集成测试计划)STP (系统测试计划)2)需求分析:SRS(软件需求规格说明)根据研发类型,需求来源,则用户针对的具体对象分为两种:针对产品的与针对项目的3)设计:HLD(High Level Design概要设计)LLD(Low Level Design 详细设计)4)编码:写成以某个程序设计语言表示的源程序清单,使用RDBMS(Relational Database Management System 关系型数据库管理系统)工具建立数据库。
5)测试:检验软件是否符合客户需求,达到质量要求。
按测试阶段分单元测试(UT)集成测试(IT )系统测试(ST )——最先介入,最晚结束6) 运行维护:将软件交付用户投入正式使用,以后便进入维护阶段,可能有多种原因需要对其进行修改,如软件错误、系统软件升级、增强软件功能、提高性能等。
软件研发的相关要素:人员 过程 工具1) 人员组成分析人员设计人员 开发人员 测试人员配置管理人员(CMO,SCM ) SQA2) 组架构软件研发流程:常见的软件研发流程:瀑布模型,螺旋模型,RUP 流程,IPD 流程软件缺陷和BUG (包括错误和不足):缺陷的引入是随时的,不确定的。
软件测试文档软件测试的基本概念和方法1 软件测试的基本流程2 软件缺陷(Bug)3软件测试的基本原则4 软件测试的基本方法5 软件测试的分类和阶段软件测试基本流程软件测试活动包括:★制定测试计划★设计测试用例★执行测试和缺陷跟踪★测试评估(报告)测试计划主要包含以下内容:▼测试计划的简介及测试项目说明▼需要测试的项目清单▼测试手段和策略▼项目通过或失败的标准▼测试的可交付性▼测试任务▼环境的需求▼测试的资源(人员)▼进度表▼风险及偶然事故的预测测试计划注意事项在写测试计划时需要特别注意以下几点:▼明确测试的目标测试最后要达到的目标必须是明确的,可以量化和度量的,而不是模棱两可的宏观描述。
▼坚持“5W”规则,明确内容与过程“5W”规则指的是What、Why、When、Where、How。
利用“5W”规则可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
测试用例测试用例(checklist),是关于具体测试步骤的文档,它描述了测试的输入参数、条件及配置、预期的输出结果等,以判断被测软件的工作是否正常。
测试用例应当包括用例编号、用例名称、测试等级、预置条件、输入数据、操作步骤、预期输出、实际输出、注释等。
用例设计方法等价类划分,分为有效等价类和无效等价类边界值分析,选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据因果图法,根据所有输入条件的不同组合,产生多种相应的结果来设计用例通过测试,通过分析需求说明书,确定程序是否满足目标失败测试,纯粹为了破坏软件,做一些系统不允许做的事情而设计用例执行测试(用例)将设计好的测试用例和测试数据应用于实际软件测试过程中,在执行测试的过程中,可以对前阶段的测试用例和测试数据进行补充,以便使用例更加完善,使测试更加充分。
在执行测试的过程中,将提交的BUG进行跟踪,再次验证,这是一个循环的过程软件缺陷(Bug)在软件使用过程中所出现的任何问题,或者导致软件不能符合设计要求或满足消费者需求的问题都是软件缺陷(BUG)发现BUG要及时提交给开发人员及其他相关人员,在记录缺陷时要注意以下几条:◆保证重现缺陷◆分析故障,使用最少步骤重现缺陷,但要包含所有重现缺陷的必要步骤◆方便阅读◆一个缺陷一个报告软件缺陷类型软件缺陷的主要类型/现象:功能、特性没有实现或部分实现设计不合理,存在缺陷实际结果和预期结果不一致运行出错,包括运行中断、系统崩溃、界面混乱数据结果不正确、精度不够用户不能接受的其他问题,如存取时间过长、界面不美观软件测试的原则所有测试的标准都是建立在用户需求之上。
软件测试基础知识指南章节一:软件测试的概念和重要性在软件开发过程中,软件测试是不可或缺的一环。
软件测试通过执行预先定义的测试用例,验证软件的功能、性能和稳定性,以确保软件能够按照需求和期望的方式正常工作。
软件测试的目的是发现软件中的错误、缺陷和问题,并提供修复建议,从而降低软件上线后出现问题的风险。
章节二:软件测试的分类软件测试可以按照不同的维度进行分类。
首先,根据测试的对象,可以将软件测试分为单元测试、集成测试、系统测试和验收测试等。
单元测试针对软件中的最小测试单元(通常是函数或方法)进行测试,验证其独立性和正确性。
集成测试则用于测试组件和模块之间的协作。
系统测试主要关注软件的整体功能和性能。
而验收测试旨在评估软件是否满足用户需求和预期。
此外,软件测试还可以根据测试的手段分为手工测试和自动化测试。
章节三:软件测试的原则和策略软件测试的目标是发现尽可能多的缺陷和问题,提高软件品质。
为此,软件测试需要遵循一些基本原则和采用适当的策略。
其中,常见的原则包括完备性原则、独立性原则、缺陷定位原则等。
在测试策略方面,可以采用等价类划分、边界值分析、错误猜测和正交试验等方法,提高测试效率和覆盖率。
章节四:软件测试的生命周期软件测试是软件开发生命周期中的一部分,需要与其他开发活动相互配合。
一般来说,软件测试从需求分析开始,到软件上线结束。
具体而言,软件测试的生命周期包括测试计划编制、测试用例设计、测试环境准备、测试执行和测试评估等阶段。
每个阶段都有固定的任务和活动,以确保测试工作的有序进行。
章节五:常用的软件测试技术为了支持软件测试的工作,有许多常用的测试技术和方法可供选择。
例如,黑盒测试方法关注软件的功能和输入输出,而不关心内部实现细节。
白盒测试则通过检查软件的源代码和内部结构来进行测试。
灰盒测试则综合了黑盒测试和白盒测试的优点。
此外,还有基于模型的测试、性能测试、安全测试等各种技术可用于不同的测试场景。
章节六:软件测试工具与环境为了提高测试效率和准确性,许多软件测试工具被开发出来,用于支持不同类型的测试活动。
第一讲计算机基础一、软件计算机=硬件+软件软件=程序+文档测试对象:文档和程序都要测试扩展:1、软件的开发阶段划分:(1)需求分析阶段由需求分析人员完成,产出物:《需求规格说明书》(2)设计阶段由系统架构师(分析师)完成,产出物:《概要设计说明书》和《详细设计说明书》(3)编码阶段由开发人员完成,产出物:程序常见面试题:哪个阶段引入的bug最多?哪个阶段最少?引入bug最多的是需求分析阶段(大概占缺陷总数的55%左右),其次是设计阶段(大概占缺陷总数的25%左右),最少的是编码阶段(大概占缺陷总数的15%左右),还有大约5%左右的缺陷是由于兼容性问题或者配置原因造成的。
由此得出结论:(1)测试不能只测程序,文档也必须要测(2)测试工作应尽早介入,并且应该贯穿整个开发周期始终(尽早测试原则和不断测试原则)二、软件缺陷Defect ,Bug1、缺陷定义(5条)说明:只要满足任何一条就是bug,与顺序无关。
(1)需求要求的功能没有实现(3)软件出现了指明不应该出现的错误(4)需求中虽未明确说明,但是应该实现的功能没有实现说明:需求并不完美,有遗漏的可能性,但是测试人员不能因为需求的错误,就造成测试的错误。
(5)程序运行缓慢、难以理解,不易使用等,站在用户角度上,一切不好的地方。
2、缺陷定义2 理解:IEEE美国电气和电子工程师协会(IEEE)对缺陷的定义:(1)从软件产品的内部去看(白盒)缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;(2)从软件产品的外部去看(黑盒)缺陷是系统所需要实现的某种功能的失效或违背。
扩展:缺陷的同义词:毛病、问题、错误、异常、功能失效、违背等等3、缺陷定义3软件使用过程中的软件错误、异常等问题软件的2个基本因素:(1)功能要能够实现(2)软件要有强大的异常处理能力(健壮性)三、软件测试Test1、什么是软件测试简单来说软件测试就是从现有软件中,尽可能多的查找缺陷的过程。
软件测试基础知识一、软件测试的描述:测试能提高软件的质量,但是提高质量不能依赖测试;测试只能证明错误存在,不能证明错误不存在;测试的主要困难是不知道该如何进行有效地测试,也不知道什么时候能够放心的结束测试;每个程序员都应当测试自己的程序(份内事),但不能作为程序已通过测试的依据(所以项目需要独立的测试人员);80-20原则:80%的错误聚集在20%的模块中,经常出错的模块改错后还是会经常出错;测试应当循序渐进,不要企图一次性做完。
"欲速则不达"。
一个好的测试用例是指很可能找到迄今为至尚未发现的错误的测试用例一个成功的测试是指揭示了迄今为至尚未发现的错误的测试二、软件分类:1)按功能分:系统软件(OS、硬件驱动程序)应用软件(Office、QQ)2)按技术架构分:单机版软件(Office、画图工具)C/S结构软件(客户端Client/服务器端Server,QQ、MSN)B/S结构软件(浏览器Browser/服务器Server,WEB项目)<现在软件的主流> 3)按用户分:产品软件:目标用户是大众用户(win 8)项目软件:目标用户是具体用户软件测试的目的:为了发现错误,不能证明程序正确,设计合适的测试用例,用尽可能少的测试用例,来发现尽可能多的软件错误。
测试人员的主要工作:1)规划测试任务2)设计测试(包括编写测试用例等等)3)建立一个合适的测试环境4)评估、获取、安装和配置自动测试工具5)执行测试6)撰写适当的测试文档软件测试与软件质量:QA(Quality Assurance),(关注的是过程);QC(Quality Control),即质量控制(关注的是结果)。
软件能力成熟度模型(CMM)CMM将软件组织的过程能力成熟度级别分为5个级别:初始级、可重复级、已定义级、已管理级、优化级。
SQA(Software Quality Assurance,软件质量保障)测试是在发现问题,SQA是在预防问题ISO/IEC9126国际标准所定义的软件质量包括六个部分,分别为功能性、可靠性、可用性、有效性、可维护性和可移植性。
1、软件测试:是通过人工或者自动化的检测方式,检测被测对象是否满足用户要求或弄清楚预期结果与实际结果之间的差异,是为了发现错误而审查软件文档、检查软件数据和执行程序代码的过程。
2、静态测试:就是不执行被测对象程序代码、不运行被测对象而实施的测试活动。
3、动态测试:运行被测对象的程序代码,执行测试用例,检查系统软件运行结果与预期结果的差异。
4、黑盒测试:把测试对象看作一个黑盒子,完全不考虑程序内部逻辑结构和内部特性,只依据规格说明书、设计文档及其他需求描述文档,检查被测对象是否与需求一致。
5、白盒测试:基于程序代码内部构成的测试。
6、Alpha测试:是由用户在开发环境下进行的测试,也可以是在开发机构内部的用户模拟实际操作环境中进行测试。
7、Beta测试:是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。
8、软件:是指一系列按照某种特定规则组织在一起,实现用户需求的计算机数据和指令的集合体。
9、功能测试:是指为了确保软件系统功能实现的正确性,完整性和其他特性而进行的测试。
10、性能测试:是指为了评估软件系统的性能状况,和预测软件系统性能趋势而进行的测试和分析。
11、Bug产生于程序的源代码或者程序设计阶段的疏忽或者错误。
12、兼容性测试:主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行。
13、并发测试:主要指当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题。
验证:是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了所期望的事情。
确认:是一系列的活动和过程,目的是证实在一个给定的外部环境中软件逻辑的正确性,即保证软件以正确的方式工作。
软件缺陷:软件缺陷包括软件错误,但是软件缺陷不一定就是软件有错误。
所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
单元测试:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
软件测试基础理论知识(总55页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除一、软件测试概论1.1基础概念【定义】软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度、完全度和质量的软件过程。
【内容】软件测试主要工作内容是验证(verification)和确认(validation )。
验证是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。
(Do the right thing)确认是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
即保证软件以正确的方式来做了这个事件(Do it right)软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
【目的】软件测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。
【原则】(1)测试的标准是用户的需求所有的软件测试都应追溯到用户需求,测试人员要始终站在用户的角度去看问题、去判断软件缺陷的影响,系统中最严重的错误是那些导致程序无法满足用户需求的缺陷。
(2)事先定义好产品的质量标准有了质量标准,才能依据测试的结果对产品的质量进行正确的分析和评估,例如,进行性能测试前,应定义好产品性能的相关的各种指标。
同样,测试用例应确定预期输出结果,如果无法确定测试结果,则无法进行校验。
(3)应当“尽早地和不断地进行软件测试”作为测试者的座右铭在软件开发生命周期早期引入的错误占软件过程中出现所有错误(包括最终的缺陷)数量的50%~60%。
第1篇一、基础知识1. 请简述软件测试的定义和目的。
解析:软件测试是确保软件产品符合预定需求和规格的过程。
其目的是发现软件中的错误或缺陷,提高软件质量,降低软件维护成本。
2. 什么是黑盒测试和白盒测试?解析:黑盒测试:不需要了解软件内部结构,主要关注软件功能是否符合需求规格说明书。
白盒测试:需要了解软件内部结构,关注代码逻辑、结构、接口等。
3. 什么是回归测试?解析:回归测试是指在软件版本更新或修改后,为了验证原有功能仍然正常,对修改的部分和与之相关的功能进行的测试。
4. 请列举三种软件测试类型。
解析:1)功能测试:验证软件功能是否符合需求规格说明书。
2)性能测试:评估软件在各种负载下的性能表现。
3)安全测试:检测软件在安全方面的脆弱性,确保数据安全。
5. 什么是缺陷管理?解析:缺陷管理是指对软件缺陷的发现、记录、跟踪、解决和验证的过程。
6. 什么是自动化测试?解析:自动化测试是指使用测试工具对软件进行测试的过程,以提高测试效率、降低成本。
二、测试方法与工具1. 请简述等价类划分法的原理和应用。
解析:等价类划分法是一种黑盒测试方法,通过将输入数据划分为若干个等价类,从每个等价类中选取一个代表性的数据作为测试用例,以减少测试用例数量。
2. 什么是边界值分析法?解析:边界值分析法是一种黑盒测试方法,关注输入数据的边界值,以验证软件在边界情况下的行为是否符合预期。
3. 请列举三种常用的性能测试工具。
解析:1)LoadRunner:一款功能强大的性能测试工具,适用于Web、Java、.NET等应用。
2)JMeter:一款开源的性能测试工具,适用于Web、Java、Database等应用。
3)Gatling:一款高性能的负载测试工具,适用于Web应用。
4. 请简述敏捷测试的特点。
解析:1)迭代:测试工作在软件开发的各个阶段进行,与开发紧密合作。
2)持续集成:测试工作与代码提交同步进行,确保软件质量。
3)自动化:使用自动化测试工具提高测试效率。
软件测试基础知识软件测试是确保软件质量和可靠性的关键步骤。
在软件开发的过程中,测试是不可或缺的一环。
它涵盖了各个阶段,从需求分析到软件交付之前的最后一步测试。
本文将介绍软件测试的基础知识,包括测试类型、测试方法和常用工具。
一、测试类型1. 功能测试功能测试是对软件的功能进行验证。
它通过模拟用户的操作来测试软件是否符合预期的需求和规范。
功能测试通常包括输入验证、输出验证、用户界面测试、集成测试等。
通过功能测试,可以确保软件在各种操作条件下正常运行。
2. 性能测试性能测试是对软件的性能进行评估。
它包括对软件的响应时间、吞吐量、并发能力等进行测试。
性能测试可以帮助发现软件在压力条件下的性能瓶颈,从而改进其性能和可靠性。
3. 安全测试安全测试是为了评估软件的安全性和防护能力。
它通过模拟黑客攻击、检测漏洞和脆弱性来测试软件的安全性。
安全测试可以帮助发现潜在的安全风险,并采取措施加固软件的安全性。
4. 兼容性测试兼容性测试是为了确保软件在不同平台、不同浏览器、不同设备上的兼容性。
它测试软件在各种环境下的运行情况,以确保软件在不同用户使用条件下的稳定性。
二、测试方法1. 黑盒测试黑盒测试是一种测试方法,它不考虑软件的内部结构和实现细节,只关注输入和输出。
测试人员通过输入各种情况的数据,验证软件的输出是否符合预期结果。
黑盒测试可以帮助发现功能缺陷和逻辑错误。
2. 白盒测试白盒测试是一种测试方法,它考虑软件的内部结构和实现细节。
测试人员通过检查代码和设计文档,设计测试用例来测试软件的每个细节,以确保软件的正确性和稳定性。
白盒测试可以帮助发现代码错误和逻辑问题。
3. 灰盒测试灰盒测试是黑盒测试和白盒测试的结合。
测试人员对软件的外部行为进行测试,同时也有一定的了解软件的内部结构。
灰盒测试可以综合黑盒测试和白盒测试的优点,更加全面地评估软件的功能和性能。
三、常用工具1. 自动化测试工具自动化测试工具可以模拟人类用户的操作,自动执行测试用例并生成测试报告。
1、能够用自己的语言清楚准确的描述出测试行业主要任务。
保证软件的可靠性
2、能够准确说出开发和测试的关系。
开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切联系,需要更多的交流和协商,以便提高测试效率。
3、能够准确说出测试误区错误的原因。
(1)、软件开发完成后进行软件测试
软件测试是一个系列过程活动,包括软件测试需求分析,系统计划设计,测试用例设计,执行测试。
它贯穿软件项目的整个生命过程,要在每一个阶段都要进行不同目的和内容的测试活动,测试不仅是对代码的检查,还包括需求文档和设计文档。
(2)、软件发布后如果发现质量问题,那是软件测试人员的错
出现软件错误,不能简单的归结为某一个人的责任,有些错误的产生可能不是技术原因,可能来自于混乱的项目管理。
应该分析软件项目的各个过程,从过程改进方面寻找产生错误的原因和改进的措施。
(3)、软件测试要求不高,随便找个人就行
这是不了解测试的具体技术和方法造成的。
软件测试技术的不断更新和完善,工具,流程,测试设计方法的不断更新,需要掌握和学习更多的测试知识。
(4)、软件测试是测试人员的事情,与程序员无关
开发和测试是相辅相成的过程,需要软件测试人员、程序员和系统分析师等保持密切联系,需要更多的交流和协商,以便提高测试效率。
(5)、项目进度吃紧时少做些测试,时间富裕时多做测试
这是不重视软件测试的表现,也是项目过程管理的混乱,这必然会导致软件测试质量的降低,克服这种现象是加强软件设计的计划和控制,包括软件测试计划、测试设计、测试执行、测试度量和测试控制。
(6)、软件测试是没有前途的工作,只有程序员才是软件高手
在微软等软件过程比较大的公司,软件测试人员的数量和待遇与程序员没有多大差别,优秀的测试人员待遇比程序员还高。
4、如何成为优秀的测试工程师。
沟通能力、移情能力、技术能力、自信心、外交能力、幽默感、强的记忆力、耐心、怀疑精神、自我督促、洞察力。
5、“软件测试就是为了发现错误而执行程序或者系统的过程.。
”这个说法对吗?如果不对,请完成正确的定义。
片面
6、“软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别”这个说法对吗?如果不对,请完成正确的定义。
片面
7、软件测试的目的,简单的说是什么?具体说是什么?
目的在于发现错误,一个成功的测试用例在于发现至今没有发现的错误,一个成功的测试是发现至今未发现的错误测试。
简单的说,测试的根本目的就是保证最终交给用户的产品符合用户的需求,在产品交给用户前尽可能多的发现并改正问题。
具体讲,确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明;确保产品满足性能和效率的要求;确保产品是健壮性的和适应用户环境的。
8、用自己的语言描述测试的主要内容。
P15
9、什么是Bug?它是如何产生的?
产品说明书中规定要做的事情,而软件没有实现;产品说明书中规定不要做的事情,而软件却实现了;产品说明书没有提到的事情,而软件却实现了;产品说明书中没有提到但是必须要做的事情,软件却没有实现。
程序开发产生Bug的原因:需求不清晰;软件复杂性;程序编码错误;需求变化;时间压力;代码文档贫乏;开发工具自身错误。
测试导致Bug的原因:测试目标定义错误;在开发生命周期中,错误的选择了测试介入时期;选择了低效的测试技术,测试人员专业知识培训不够,工作低效;计划不够详细。
测试随意性很大;测试人员同开发人员沟通困难。
10、软件测试模型有那些?用自己的语言描述软件测试的模型。
V模型和x模型
11、什么是代码走查?举例说明
指通过阅读代码来检查源代码雨编码标准的符合性以及代码资粮的活动。
12、什么是项目变更?举例说明
指用户针对本项目的需求发生变化,比如原来在A页面要求实现随意查询功能,现在要求A页面实现个悲剧权限添加、修改、删除工作、查询内容。
13、什么是静态测试?开始静态测试的前提、时机?举例说明。
指不运行被测程序本身,仅通过分析或检查源程序的文法,结构,过程,接口等来检查程序的正确性。
理论上讲,静态测试应在项目立项开始,贯穿整个项目的始终。
原则是越早越好。
14、什么是动态测试?举例说明。
指运行被测程序,检查运行结果雨预期结果的差异,并分析运行效率和健壮性等性能,这种方法有三部分组成:编写测试用例,执行程序,分析程序的输出结果。
步骤:单元测试、集成测试、系统测试、验收测试、回归测试。
15、静态测试和动态测试的区别?举例说明
静态测试是用于预防的,动态测试是用于矫正的;多次的静态测试比动态测试要效率和效益高;静态测试综合测试程序代码;在相当短的时间里,静态测试的覆盖率能达到100%,而动态测试经常是只能达到50%左右,原因动态测试发现的bug大部分只是在测试实际执行的那部分代码;动态测试比静态测试更花时间;静态测试比动态测试更能发现bug;静态测试的执行可以在程序编码编译前,动态测试只能在编译后才能执行。
16、需求有哪几种.
用户需求说明书,软件需求说明书;测试需求
17、什么是用户需求说明书?
指设计者就开发目标与客户达成的共识。
他要明确用户的现状和目标,明确系统运行环境、资金计划、大致人员进度安排等
18、什么是软件需求说明书?
为了使用户和软件开发者双发对软件的初始规定有一个共同的理解,使之成为整个开发的基础。
19、什么是测试需求?
20、描述三种需求的区别与联系,以及测试工程师的责任。
编制作者不同:《用户需求说明书》是用户编写,《软件需求说明书》是开发团队编写的;
《测试需求》是测试团队编写的,三种需求说明书是紧密关联的,当《用户需求说明书》发生变更时,必然导致《软件需求说明书》发生变更,必然导致《测试需求》变更,三种需求针对同一内容要表达一致,无二义性。
21、功能测试的方法有几种?分别是什么?
功能测试就是对产品的各个功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
有白盒测试,黑盒测试,通过测试法和失败测试法,随机测试法,灰盒测试。
22、白盒测试的定义?
也称结构化测试、基于代码的测试,是一种测试用例的设计方法,已知产品的内部工作过程,通过测试证明每种内部操作十分符合设计规格要求。
23、黑盒测试的定义?
也称功能测试和行为测试,主要是根据功能需求来测试程序是否按照预期工作,不基于内部设计和代码的任何知识,而是基于需求和功能性,通过测试证明每个实现的功能是否符合功能设计规格要求。
24、白盒测试方法有哪些?定义分别是什么?
判定覆盖:
条件覆盖:
判定/条件覆盖:
组合覆盖:
路径覆盖:
25、黑盒测试方法有哪些?定义分别是什么?
等价类划分法:是把所有可能的输入数据划分若干部分,然后从每个子集中选取少量具有代表性的数据作为测试用例,一般分为有效等价类和无效等价类。
边界值分析法:对输入或输出边界值进行测试的一种方法,是等价类的补充。
错误推测方法:根据经验和直觉推测程序中可能有的各种错误,从而设计测试用例。
因果图法:哪些是因哪些是果,通常输入条件或是输入条件的等价类,。
26、白盒测试和黑盒测试的区别是什么?
执行测试人员不同:黑盒测试通常由用户及非开发人员来进行,而白盒测试通常要有了解软件内部结构的开发人员来做。
测试覆盖目标不同:黑盒测试的目标是覆盖所有的用户需求,而白盒测试的目标是覆盖所有代码。
测试动机不同:
测试方法不同:
评估测试方法不同:。