软件测试的基础知识
本篇博客主要介绍软件测试的基本知识,其基本知识点我画了一张简图,具体内容中个人认为比较重要的知识点,我会在图下面以文字的形式进行补充。
从这张简图简图中可以看出,其实它主要介绍了:软件测试的背景(即发展史)、原因(即软件缺陷)→软件测试.
软件测试的定义、目的、方法、模型等等。
软件测试(software testing):使用人工或自动手段来运行或测试某个系统的过程,其目的在于检测它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
从历史的角度来看,软件测试重点放在检测和排除缺陷上。现代的软件测试持续了这个观点,同时还认识到许多主要的缺陷主要来自于需求和设计的误解、遗漏和不正确。因此,证明、检测和预防已经成为了一个好的测试的重要目标和好处。
从不同的角度出发,软件测试可以划分为不同的分类:
这里对回归测试补充一下:软件在测试或其他活动中发现缺陷经过修改后,应该进行回归测试(Regression Testing)。目的是验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。
回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试。
目前国内软件公司存在主要问题是,测试活动主要集中在后期阶段,并且没有明确、清晰、规范的软件测试过程。因此,需要有一套切实可行的测试过程作为理论依据。目前,V&V模型就是使用比较广泛的模型:
V&V即验证(Verification)和确认(Validation),Boehm对V&V的解释是:
Verification:"Are we building the product right ? "
Validation:"Are we building the right product ? "
对于V&V的理解,在这里我没有把他翻译成汉文,因为我也不知道自己理解的是否正确,所以其具体意思,见此博文的人,可以去找资料理解其意思。
关于软件测试的基本理论知识,此文做个开篇,就总结到这里。关于上述总结的知识点,如果本人总结或理解有错误的地方,还望读者多加指教。
参考资料:百度百科——软件测试:http://baike.baidu.com/view/16563.htm?fr=aladdin