1.软件测试的核心竞争力?
(1)早发现问题:问题发现的越早,解决的成本越低。如果一个需求还未实现的时候就能发现需求的漏洞,那么这种问题的价值是最高的。
(2)发现别人无法发现的问题:别人发现不了,而你可以发现,那么你就是无法被替代。
2.测试和开发如何结合才能使软件的质量得到更好的保障?
测试和开发应该按照W模型的方式进行结合,测试和开发同时进行,能够尽早发现软件缺陷,降低软件开发的成本。这表明测试的对象不仅是程序,还有需求、设计等,有利于尽早地全面发现问题。
单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块是被正常的编码,通常情况下是白盒的,对代码风格、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错误。
集成测试:通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成。
系统测试:是基于系统整体需求说明书的黑盒类测试,目标是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。而且是在系统实际运行环境下进行测试。
回归测试:是指在发生修改之后重新测试先前的测试用例以保证修改的正确性。
验收测试:相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。包括Alpha测试和Beta测试。
Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。
Beta测试:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件。
我认为最重要的是系统测试,它主要是验证软件的功能是否满足需求。而且此时单元测试和集成测试已完成,能够对软件所有功能进行功能测试,覆盖系统所有的联合部件,是指对整个产品系统进行的测试,能够验证系统是否满足了需求。
黑盒测试:也称功能测试或数据驱动测试,是在已经知道软件有什么功能的情况下,通过测试来检测每个功能是否都能正常使用。
在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试。
黑盒测试只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库和文件)的完整性。
黑盒法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
常见的黑盒测试方法有:等价类划分法、边界值分析法、因果图法、场景法、正交实验设计法、判定表驱动分析法、错误推测法、功能图分析法。
白盒测试:结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。
白盒测试根据程序的控制结构设计测试用例,检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。穷举路径测试发现不了一些与数据相关的错误。
白盒测试需要遵循的原则有:
(1)保证一个模块中的所有独立路径至少被测一次
(2)所有逻辑均需测试真和假两种情况;
(3)检查程序的内部数据结构,保证其结构的有效性;
(4)在上下边界及可操作范围内运行所有循环。
白盒测试方法
(1)静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,也可以借助软件工具(Fxcop)自动进行。
(2)动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
标签:发现,黑盒,白盒,基础,测试,软件,软件测试,进行 From: https://www.cnblogs.com/Lorrained/p/18553539