1.1软件测试的目的
①软件测试是为了发现错误而执行程序的过程;
②测试是为了证明程序有错,而不是证明程序无错误;
③一个好的测试用例是在于它能发现至今未发现的错误;
④一个成功的测试是发现了至今未发现的错误的测试。
测试的目的是明确的,但如何才能知道问题所在是关键,这就要求软件人员具有很好的相关知识和手段。
1.2软件测试的方法
人们通常以为,开发一个程序比设计一个测试用例更困难,其实不然,设计测试用例是一项细致并需要相当技巧的工作,稍有不慎就会顾此失彼。一般软件测试分为静态测试和动态测试,动态测试又分为白盒测试和黑盒测试。 黑盒测试也称功能测试或数据驱动测试,在完全不考虑软件的内部结构和特性的情况下,通过测试来 检测每个功能是否都正常。测试者在程序接口进行测 试,只检查程序功能是否按照需求规格说明书的规定 能正常使用。黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等,主要用于软件确认测 试。 黑盒测试主要检查下列几类错误:
①是否有错误和遗漏的功能;
②界面是否有误,输入是否正确接收,输出是否 正确;
③是否有数据结构和外部数据库访问错误;
④性能是否能够接受;
⑤是否有初始化或终止性错误。
白盒测试也称结构测试或逻辑驱动测试,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行。根据程序的内部结构和逻辑来设计测试用 例,检验程序中的各条路径是否都能按预定要求正确工作。白盒测试的主要方法有逻辑驱动、路径测试等, 主要用于软件验证。白盒测试法是穷举路径测试,测试者必须检查程 序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是很大的数量级。即使每条路径都测试了仍然可能有错误。第1,穷举路径测试是不可能能查出程序违反了某些设计规范,即便程序 本身是个错误的程序。第2,穷举路径测试不可能查出 程序中因遗漏路径而出错。第3,穷举路径测试可能发现不了那些与数据相关的错误。
白盒测试法的原则:
①程序模块中的所有对立路径至少执行一次;
②在所有的逻辑判断中,取“真”或“假”的两 种情况至少都能执行一次;
③每个循环都应在边界条件和一般条件下各执行一次;
④测试程序内部数据结构的有效性。
黑盒测试方法或白盒测试方法,由于测试数量巨大,都不可能进行彻底的测试。程序测试只能证明错 误的存在,但不能证明错误不存在。