对于你个人针对软件测试的目的的思考,从软件项目来说是对的。对于软件的测试并完全单单是测试出软件的缺陷这一个目的。从大的方面来说,个人认为主要有以下:

 

1、发现软件的缺陷、以及软件不足。通过各种手段测试软件,包括软件功能涉及到的各个方面,当然还有细节处理等。通过测试可以发现软件存在的缺陷,甚至程序Bug,以便于及时得到解决。如果测试不足,很容易造成到客户现场检查到问题,严重的可能导致双方信任的问题。另外一方面也是测试发现软件还有哪些不足的地方,以便于后续进行改进。

2、便于预防以及开发过程的改善。对于软件的测试也是一个对团队开发项目的全过程的一个检视,从而为以后的开发进行改善,以便于更有效率,更有质量。这些可能包括:测试结果进行反视、分析,可以发现团队存在哪些不足,以便于改善。比如:可能发现设计的不足,或者技术不足导致的问题,或者开发团队沟通交流的不足导致问题产生等等。

 

最重要的是要对测试的结果进行分析,然后进行解决。比如:技术不足就要加强技术的培训及人员培养,沟通不足那么就要加强团队的沟通协调,设计能力不足那么就要加强设计能力的培训,甚至可能发现成员的责任心不强就要加强责任心的培养等等。

3、团队能力提高。从软件开发内部团队来说,除了测试软件本身问题以外,最重要的是要达到内部团队能力的提高。比如2中提到的加强各种培训培养等,也就是在以后的软件项目中尽量不要犯以前的错误,或避免以前出现的问题,提高团队的工作效率,能力,项目质量等。从公司层面来说,项目开发管理可能就会上一个台阶,比如从CMMI角度,可能从2级到3级的升级,3级到4级等。

所以软件测试的目的不限于软件本身,也是为了预防以后软件不出现类型缺陷,提高开发团队成员的水平、团队开发质量及管理能力,提高公司整体开发水平的一种手段或者方法。