- 论坛徽章:
- 3
|
我不是专职的测试人员,在多年的项目开发过程中,也经常干一些测试工作,其中确实有很多体会。
第一,单元测试是必不可少的,以常见的Web项目为例,后端开发者的主要工作是实现业务逻辑、持久化层、Web服务层,而这些工作都需要写单元测试进行验证。单元测试是由开发人员编写的,当然,专职的测试人员也可以写单元测试,但两者的侧重点是不同的,通常是测试人员的单元测试不能涵盖开发人员的单元测试,但开发人员的单元测试却可以涵盖测试人员的单元测试。
写了很多单元测试之后,可以把这些单元测试类构成测试集。这样,每当有需求变更或者算法更改时,把单元测试集运行一次,以检查模块的功能是否正常。当然,单元测试本身的代码质量也非常重要,代码质量不高,会使得很多问题发现不了,给开发后期带来很多问题。
在这里回答第三个问题,“单元测试在实际项目中的使用度”,单元测试在项目开发的过程中,基本上是必不可少。即使对于资深程序员来说,我觉得仍然需要单元测试。因为“是人就会犯错误”,单元测试可以帮助我们避免这一点。
早些年间,我在一个Java团队中,使用的单元测试一直是JUnit,TestNG我也用过,功能和JUnit同样强大,都是不错的单元测试工具。
要注意,单元测试的编写会占用很多开发时间,以至于有很多人、很多项目没做单元测试。但是,单元测试的优点是不可抹杀的。单元测试是改进我们设计的保证。做为一个优秀的程序员,是会经常优化代码和设计,所以经常的进行重构。一个优秀的程序员绝对不能容忍异味代码。而单元测试就是我们进行重构的信心保证。
第二,开发人员有时候因人手紧张等原因,有时候也会做功能测试,对于前端工程师来说,尤其如此。在把代码提交到测试组之前,所有的界面功能通常会自己测试多次,尽可能地把潜在的问题修复完。即便如此,测试人员常常也会发现新问题。
第三,集成测试。各个模块在开发完成后,会组装在一起进行集成测试。对于开发人员来说,有时候也会做集成测试。对于分工明确的专业团队来说,集成测试由测试人员完成。
集成测试测试组合单元时出现的问题。一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
使用python,autoit等脚本语言做自动化测试,那些都是测试人员干的事,等待其他朋友评论。 |
|