软件测试,目前定义混杂,没有统一的标准,但是最经典的定义是:在规定的条件下对程序进行操作,以发现错误,对软件质量进行评估的一个过程。
二:什么是软件质量软件质量包括:内部质量,外部质量,使用质量。软件质量:软件满足规定或潜在用户需求的能力。
三:软件测试与软件质量的区别质量保证(QA):主要工作是通过预防,检查与改进来保证软件质量。它所关注的是软件质量的检查与测量。着眼软件开发活动中的过程,步骤及产物,而不是对软件进行剖析进而找出问题。
软件测试:测试关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物—开发文档和源代码进行走查,运行,以找出问题,报告质量。测试人员也必须假设软件存在问题,所以所做的操作都是为了找出更多的问题,而不仅仅验证每一件事是正确的。
四:软件测试的内容根据测试定义,测试贯穿于整个软件生命周期中。在开发的不同阶段,需要测试不同的内容。包括文档,源代码,数据等。
五:软件测试的目的测试的目的,是想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患以及带来的商业风险。(注意这个问题的答案,经常会与软件测试的定义混淆)
六:软件测试的分类(面试问题)按开发阶段来分:单元测试,集成测试,系统测试,验收测试。
按测试的实施单位来分:开发方测试,用户测试,第三方测试。
按测试技术:白盒测试,黑盒测试,灰盒测试。
七:黑盒,白盒,灰盒测试概念白盒测试:知道产品内部工作过程,可通过测试来检测产品内部是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能够按照预定要求正确工作,而不管产品的性能。它包括两种测试方法:静态测试和动态测试。静态测试时不通过执行程序而进行测试的技术,其关键功能是检查软件的表示和描述是否一致,没有冲突或者产生歧义。而动态测试需要软件的执行,当软件系统在模拟的或真实的环境中执行之前,之中,之后,对软件系统行为的分析是动态测试的主要特点。
黑盒测试:是一种非常重要的测试策略,又称为功能测试。使用这种测试方法,将程序视为一个黑盒子。测试目标与程序内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正常运行的环境条件。
灰盒测试:结合了白盒与黑盒的要素。关注输出对于输入的正确性,同时也关注内部表现,但不像白盒那样详细,完整,只是表征性的。