这是我的理解:
动态测试是在系统运行时执行的测试。静态测试在系统未运行时执行。
黑盒测试侧重于功能,并且在不了解程序内部运作的情况下执行。白盒测试在代码本身中寻找问题。
我想知道的是,可以说所有黑盒测试都是静态的吗?是否可以公平地说一些白盒测试是静态的(例如,检查源代码)而一些是动态的(分支/路径测试)?
这是我的理解:
动态测试是在系统运行时执行的测试。静态测试在系统未运行时执行。
黑盒测试侧重于功能,并且在不了解程序内部运作的情况下执行。白盒测试在代码本身中寻找问题。
我想知道的是,可以说所有黑盒测试都是静态的吗?是否可以公平地说一些白盒测试是静态的(例如,检查源代码)而一些是动态的(分支/路径测试)?
可以说所有黑盒测试都是静态的吗?
不会。黑盒测试通常是动态的。事实上,当我们想到软件测试时,我们通常会想到运行代码并记录他们发现的问题的人。这是经典的动态黑盒测试。
但是,有黑盒静态测试。当您检查规范或要求以查找错误时,这是静态的黑盒测试。这里有一些技巧
像客户一样阅读规范 - 有什么不合理的吗?
将规范与行业或公司指南进行比较 - 是否存在违规行为?
阅读要求以确保每一项都是:
正确的
可行的
必要的
优先
明确的
可修改
完全的
可验证
如果其中任何一个被违反,您就会发现需求错误并节省大量时间和金钱。
我想不出黑盒测试是静态的任何情况。
黑盒/白盒是指测试人员对被测系统 (SUT) 内部工作原理的了解。
静态/动态是指被测系统的状态(运行/动态,或停止/静态)。
黑盒测试在不了解其内部实现的情况下探测正在运行的系统的外部。很多功能测试都属于这一类。我不确定黑盒如何在不加载系统并查看它如何响应各种刺激的情况下做到这一点。
白盒测试可以动态完成(例如,具有执行渗透测试的系统内部工作知识的安全测试人员)或静态完成,例如运行 AppScan、FxCop、JavaCop 等工具以寻找违反准则和潜在安全性源代码中的漏洞。
可以说所有黑盒测试都是静态的吗?
黑盒测试可以是静态的也可以是动态的。静态黑盒测试——审查需求文件、规范文件或设计文件。
动态黑盒测试——通过提供各种输入、执行各种动作对被测应用程序进行测试。
在静态测试下代码不被执行。相反,它手动检查代码、需求文档和设计文档以查找错误。因此,名称为“静态”。在动态测试下执行代码。它检查软件系统的功能行为、内存/cpu 使用情况和系统的整体性能。因此得名“动态”。
黑盒测试是一种测试技术,它忽略了系统的内部机制,专注于针对系统的任何输入和执行产生的输出。白盒测试是一种考虑系统内部机制的测试技术。
黑盒测试和白盒测试是用于软件测试的测试方法。动态测试可以是黑盒测试或白盒测试。
例如:单元测试是一种动态测试(功能测试类型),属于白盒测试。
系统测试是一种动态测试(功能测试类型),属于黑盒测试。
集成测试是一种动态测试(功能测试类型),它可能同时属于白盒测试和黑盒测试。
看到这个:https ://www.codeproject.com/Tips/351122/What-is-software-testing-What-are-the-different-ty
它是一个层次结构
顶部有白盒和黑盒测试白盒测试分为CFA和DFA DFA代表数据流分析,分为静态DFA和动态DFA
一些黑盒测试是动态的,因为您可以在系统运行时测试系统,而无需了解其内部结构(例如,使用最终用户界面或公共 API 时)。