软件测试工程师常见面试题及答案
导语:软件工程师一般指从事软件开发职业的人。
一、什么是软件测试?
IEEE中是这样描述的:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
二、为什么要开展软件测试呢?
首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程的缺陷,以便及时改进。同时,这种分析也能帮助测试人员设计出游针对性的测试方法,改善测试的效率和有效性。
其次,没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。
简单地说,测试的根本目的就是确保最终交给客户的产品符合用户的需求,在产品交给用户之前尽可能多地发现并改正错误。
三、我们怎么开展软件测试呢?
现代软件测试活动一般包括以下内容:
制定测试计划。
设计测试用例。
实施测试。
提交缺陷报告。
测试总结。
四、软件测试要达到什么目标呢?
软件测试一般要达到下列目标:
确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
确保产品满足性能和效率的要求。使用起来系统运行效率低、用户界面不友好,用户操作部方便的产品不能说是一个有竞争力的产品。用户最关心的不是产品的技术有多先进,而是他能从这些技术中得到多少好处,使用是否得心应手。
确保产品是健壮的和适应用户环境的。健壮性即稳定性,是产品质量的基本要求。
五、测试和调试有什么不同?
测试调试
发现软件的错误(是否满足用户需求) 确定程序中可疑错误的原因和确切位置,对程序(设计或编号)进行修改,排除错误
贯穿整个软件生命周期(很多公司只在编码后期才进行测试) 主要在开发阶段
由测试人员和程序员参与程序员参与
可见,有些人认为测试和调试时一码事是错误的,实际上测试与调试有着本质的区别。简单地说,测试的主要工作是找缺陷,而调试的目的是解决缺陷。具体地讲,软件测试时在进行成功的软件调试后才开始进行的。
六、怎样才能成为一个优秀的测试工程师?
一个优秀的测试工程师必须具备的素质如下:
1、很强的责任心
2、良好的沟通能力
3、团队合作精神
4、耐心、细心、信心
5、时时保持怀疑态度,并且有缺陷防护意识
6、具备一定的编程经验