我一直在为白盒和黑匣子的测试而阅读。
如果我没有错:
Whitebox测试软件程序的实现,而黑盒测试输入和输出。
请给我一个这两种情况的简单代码的例子好吗?
提前谢谢你。
所以,这里的代码是一个黑匣子测试?
class Schalter
{
private boolean
{
private boolean _istAn;
public Schalter(boolean anfangsAn)
{
_istAn = anfangsAn;
}
public boolean istAn()
{
return _istAn;
}
public void umschalten()
{
_istAn = !_istAn;
}
}发布于 2014-02-28 16:56:39
黑匣子-> --您实际上只是在检查您给程序的输入是否得到了正确的输出。
假设你有一个提示符,它要求你输入两个数字来得到数字的和。
输入2个数字:2 5输出:2+5=7
这就是黑匣子的真正意义。
白色方框,你会想要检查,看看它是如何发生的。
你可以做正常的事情,就像
int adder(int firstNum, int secondNum)
{
return firstNum + secondNum;
}这比说这样的话更有效率:
int adder(int firstNum, int secondNum)
{
int temp;
for(int i = 0; i < (firstNum + secondNum + 1); i++)
temp = i;
return temp;
}在白盒测试中,您可以查看代码并找出哪个更有效和/或更易于阅读。显然,第一个原因是:
这是一个简单而武断的例子,但是当您进入较大的项目时,当您进行单元测试以确定代码的较小部分是否有效时,您将进行大量的白盒测试。通常,当您开始将代码的较小部分集成到较大的项目中时,您会进行黑箱测试,以检查您是否仍然获得了给定输入的正确输出。
另一种看待它的方法是使用黑盒测试来查看输出是否有问题,如果是的话,您可以进行白盒测试,以查看代码中的错误。
发布于 2014-02-28 16:19:10
黑盒测试是一种测试方法,在不关心程序如何操作输入的情况下,您只需要检查输出对于指定的输入是否有效。
Whitebox测试是一种测试方法,当您关心程序如何操作输入和输出时。
我想有一个例子是,如果您正在编写排序算法的测试。黑匣子测试只需检查输出是否按照预期排序。白盒测试可能会检查排序是否为稳定,因为这取决于排序算法的实现。例如,合并排序是稳定的,而典型的快速排序的就地版本则不是(虽然确实存在稳定的版本)。
发布于 2014-03-13 11:38:13
简单地说,白盒测试是一种测试,您可以了解软件或任何应用程序的内部路径和编码。在白盒测试中设计测试用例需要编程技巧。白盒测试可以在单元测试、集成测试和System测试中进行。
在黑匣子测试中,您只需要SRS(软件需求规范)来了解系统的功能和客户的需求。这里没有测试测试人员的编程技能。通常在手动测试中遵循BlackBox方法。黑匣子测试几乎在所有级别进行,如单元测试、集成测试、系统测试和验收测试。
https://stackoverflow.com/questions/22100302
复制相似问题