一个软件,从最开始的可行性分析、需求分析、概要设计、详细设计、编写代码。这一系列的开发之下。千辛万苦的,花费了大量的人力物力、金钱时间,终于把软件给做出来了。你试着想一下,要是送到客户的手上,客户突然发现,软件用不了,或者是软件存在很大的缺陷。导致软件不好用、甚至比原先没有这个软件,还麻烦了。客户是很愤怒的。客户一愤怒,就导致客户不会付钱。这最终,项目失败,造成资源的大量浪费,所以说软件测试还是很有必要的。再者就是,软件测试可以发现软件的缺陷,从而通知编程人员不断改进软件。在这样不断测试,不断改进的情况下。将软件性能不断提高,软件变得越来越好用。
软件测试,旨在发现软件的缺陷。可以这样说,软件测试就是以发现软件缺陷,为最终目的的测试活动。它通过软件测试方法,白盒的、黑盒的、静态的或是动态的。借助软件测试工具,来找到缺陷。然后在缺陷评审和确认之后将缺陷记录下来,并用缺陷管理工具管理,详细描述,关注软件缺陷的发生周期。对它的严重性、和优先级下一个定义。书写软件缺陷报告,具名缺陷的重现步骤、测试的期望结果与实际结果、还有相关图片、文字资料。
提交给软件编程人员,来完成软件缺陷的修复。
软件测试的方法,包括:白盒测试和黑盒测试。其中,白盒测试之中,有含有:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖、等方法。黑盒测试方法中,有:等价类划分法、边界值分析法、判定表法、因果图法等。软件测试方法,按照是否运行代码来看,可以分为:静态测试和动态测试。其中静态测试有,对代码的走查和评审。动态测试,则是要通过运行代码来执行。白盒测试多用于软件的单元测试上,黑盒测试多用于功能性测试上。代码的静态测试和动态测试,则是每一个软件项目都必须的。
单元测试,多构造桩函数或是驱动程序来测试。一般借助与各种软件测试工具。软件测试,或者说程序测试。一般先是进行单元测试。单元测试,修改完单元之中的缺陷、错误之后,就是集成测试。集成测试多针对程序功能进行测试,看程序的各项功能是否达到要求,是否齐全。集成测试之后就是系统测试。系统测试是针对整个软件系统的。看软件系统是否达到性能的要求。从而改进代码,以求达到系统的严格要求。最后就是验收测试,这个测试,一般都分成两半来做。一半是,程序员模拟客户环境,进行测试。而,另一半则是,真正的客户参与的测试。最大程度的体现客户的真实环境。客户在试运行的情况下,看是否会发现,平时发现并且以前的环境发现不了的问题。
验收测试,包含对界面的测试和软件可用性的测试,运用尼尔森十大原则,来测试软件是否好用。软件是否达到用户的对软件界面的需求。
无论是软件编写,还是软件测试,都需要相应的文档管理。还有针对软件测试制定的测试计划,软件测试执行等。
通过本学期的学习,我感受到软件测试是一门非常需要学习的课程。即使作为考察课程,它也是软件行业人士所必须了解的知识。它对软件工程项目的作用是至关重要的。现在,作为学生的我所做的项目虽然都是一些小的项目,但是在小组共同开发的时候还是需要用到
项目的测试。如今这门课程我学的还不是很好,但我相信在今后的实训及工作当中,能够更好的体验和感受到项目测试的精髓,对软件项目测试有更深入的了解。我也希望,学校的老师能够在今后的教学当中重视软件项目测试课程,多让学生了解实例,去感受、体会软件项目测试所遇到的问题和解决方案,理解软件项目测试的精髓。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |