一般来说,测试主要分为两个层次,一方面是开发过程中的软件测试,另一方面是第 三方的确认测试和验收测试。
开发过程中的软件测试
开发过程中的测试是软件产品开发商进行的测试,包括单元测试、集成测试、系统测试三个主要的环节,其目的主要在于发现软件的缺陷,并及时修改。我们可以把它看作产品出厂前进行的质量保证的手段。
单元测试:单元测试的主要目的是针对编码过程中可能存在的各种错误,例如用户输入验证过程中的边界值的错误。
在人力资源软件的开发中也就是对各个功能模块进行的白盒测 试。
集成测试:集成测试主要目的是针对详细设计中可能存在的问题,尤其是检查各单元与其它程序部分之间的接口上可能存在的错误。
系统测试:系统测试主要针对概要设计,检查了系统作为一个整体是否有效地得到运行,例如在产品设置中是否达到了预期的高性能。系统测试是开发商对于人力资源软件产品的最后的质量保证阶段。
确认测试和验收测试
人力资源开发商的质量保证由于受诸多因素制约(如:思维定式、自我保护等),存在一定程度的局限性,因此需要第三方软件测试机构对于人力资源软件的质量进行测试和评估,其主要的测试类型就包括了确认测试和验收测试。
确认测试:确认测试是第三方测试机构根据软件开发商提供的用户手册,对人力资源软件进行的质量保证测试,主要目的在于测试软件的功能是否满足了软件开发商对于用户的承诺,是否符合国家相关标准法规,系统运行是否安全可靠等。目前,中国软件评测中心进行的确认测试主要从功能、兼容性、安全可靠性、易用性、资源利用率、效率、用户文档等方面对软件的质量进行测试和认证。与验收测试不同的是为了评估软件的实施能力,需要对软件的易实施性、易扩展性进行重点测试,主要目的在于评估软件的二次开发能力和对于不同企业的适应能力,以便满足人力资源软件在不同企业中实施的需要。
验收测试:验收测试是第三方软件测试机构根据最终用户的需求,对人力资源软件的质量进行测试,主要目的是对软件实施后的质量替用户进行验收,由于验收测试是在特定的环境、特定需求下的测试,因此测试的重点在于软件的功能是否满足用户需求,功能是否符合国家标准法规,软件系统是否安全可靠等。
第三方测试的意义
第三方测试以合同的形式制约了测试方,使得它与开发方或开发人员存在某种"对立"的关 系,所以它不会刻意维护开发方或开发人员的利益,保证了测试工作在一开始就具有客观性。
第三方测试不同于开发方的自测试。由开发人员承担的测试存在很多弊病,除去自身利益驱使带来的问题外,还有许多不客观的毛病,主要表现在思维的定势上。因为第三方测试的目的就是为尽量多地发现程序中的错误而运行程序的过程,可以更多的发现问题。此外,随着系统越做越大,客观上讲开发人员也无精力参与测试,同时也不符合大生产专业分工的原则。
第三方测试不同于用户的自测试。用户是应用软件需求的提出者,应该来说对于软件的需求最为理解,因此比较适合对软件的正确功能和流程进行测试。但是我们也应当看到,大部分的用户很难对系统的内部实现过程进行深入的分析。对系统的全面测试,功能测试仅仅是一个方面,还要包括并发能力、性能等多种技术测试。这些测试对技术有很高的要求,必须由计算机的专业人员才能完成。