1、测试人员在软件开发过程中的任务是什么?
答:1寻找bug
2避免软件开发过程中的缺陷
3衡量软件的品质
4关注用户的需求,
总目标是:确保软件的质量
2、一条软件缺陷(bug)记录都包括了哪些内容?如何提交高质量的软件bug记录。
一条bug记录最基本应包含:编号,bug所属模块,bug描述,bug级别,发现日期,发现人,修改日期,修改人,修改方法,回归结果。
要有效的发现bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布,如此才能提高提交bug的质量。
3、软件测试的两种方法,请分别说明各自的优缺点。
黑盒:简单,不用了解软件内部实现,在做软件自动化测试时较为方便
代码覆盖率低,自动化测试的复用性较低
白盒:代码覆盖率高,提高代码质量,发现代码中隐藏的问题。
程序运行会有很多不同的路径,不可能测试所有的运行路径。
系统庞大时,测试开销会非常大。
4、什么是软件测试,它分为那几个阶段?
是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试,集成测试,系统测试。
5、测试用例和测试规程。
测试用例是测试人员用于测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的数据,或测试人员专门设计出来的数据。
测试规程:就是详细的对测试用例设计方法,测试方法,测试工具,测试环境和测试数据进行描述的文档,还包括能把某个或某一组测试用例应用到被测试软件上完成某项测试的一系列的操作步骤。
6、典型的瀑布模型的四个阶段:分析,设计,编码,测试
7、使用软件测试工具的目的:帮助测试寻找问题,帮助问题的诊断,节省测试时间
8、典型的开发周期模型:瀑布,v,原型化,螺旋,迭代。
9、软件bug的等级划分:
1)致命错误:造成系统崩溃,死机,死循环,导致数据库数据丢失,与数据库连接错误。
2)严重错误:系统主要功能部分丧失,数据库保存调用错误,功能设计与需求严重不符。
3)一般错误:功能没实现但不影响使用,功能菜单有缺陷但不影响系统稳定。
4)建议问题:界面,性能缺陷,建议类问题,如:错别字,描述不清楚,没有删除提示,文字排列不整齐。
10、测试结束的标准:
1)达到预先的缺陷度量原则
2)缺陷修复率达到产品设计人员的需求
3)缺陷收敛趋势符合质量要求
4)模块测试用例执行完毕,覆盖了全部软件需求。
11、回归测试,修改了旧代码后,重新进行测试以确定修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅度降低系统测试,维护升级等阶段的成本。
12、一个测试工程师应该具备那些素质和技能?
1)掌握基本的测试基础理论,
2)本着客观的态度找出软件存在的问题,不要挑刺
3)可熟练阅读需求规格说明书等文档
4)以用户的观点看待问题
5)有强烈的质量意识
6)细心和责任心
7)良好有效的沟通方式
8)能够及时准确地判断出高危险区在何处
13、你用过的测试工具的主要功能、性能及其他?
WinRunner(WR)
14、需求测试注意事项:
完整性,一致性,无二义性,可行性,可测试性,可修改性,健壮性,必要性,可跟踪性
15、简述一下缺陷的生命周期?
一个软件缺陷被发现,开发人员修改,缺陷被修复,测试人员验证,关闭已不存在的缺陷。
16、为什么要写用例:
便于重复测试,便于团队交流,便于跟踪统计,便于用户自测
17、什么时候写用例:
通常在测试设计阶段来写,及《需求规格说明书》和《测试计划》都已完成之后
18、简述集成测试主要包括以下过程?
1、构建的确认过程
2、补丁的确认过程
3、系统集成测试测试组提交过程
4、测试用例设计过程
5、测试代码编写过程
6、bug的报告过程
7、每周/每两周的构建过程
8、点对点的测试过程
9、组内培训过程
19、怎么做好文档测试
仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。P142 检查文档的编写是否满足文档编写的目的 内容是否齐全,正确 内容是否完善 标记是否正确
20、白盒测试有几种方法
静态方法:关键功能是检查软件的表示和描述是否一致,没有冲突或者歧义
动态方法:语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,条件组合覆盖,路径覆盖
21、系统测试计划是否需要同行审批,为什么
需要,系统测试计划属于项目阶段性关键文档,因此需要评审。
22、测试结果的标准是什么?
覆盖率,缺陷率达到标准,用例全部测试,其他指标达到质量标准
23、软件测试活动的生命周期?
计划,设计,实现,执行,总结
24、Alpha测试与beta的区别
Alpha测试:在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。
这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。
Beta测试:当开发和测试根本任务完成时所做的测试,最终的错误和问题需要在最终发行前找到。
25、比较负载测试,容量测试和强度测试的区别。
负载测试:在一定的工作负荷下,系统的符合及响应时间。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:某项指标的极限值。最大负荷或工作量。
26、进程和程序的区别。
一动一静,一永久一暂时,
27、进程和线程的异同:
一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存。
28、描述静态测试和动态测试的区别
是否运行程序。静态测试是不运行被测试程序,对代码通过检查,阅读进行分析。
动态测试是真正运行被测试的程序,在执行过程中,通过输入有效的测试用例对其输入和输出的对应关系进行分析。
29、单个组件经过代码审核和测试,其有效性已经得到了全面验证,请解释为社么仍要进行集成测试。
单个组件正常工作并不意味着所有组件集成在一起可以正常工作,因为组件相互连接时接口会引起很多新问题,集成测试正是将通过单元测试的各个组件组装在一起进行综合测试,以便发现与接口有关的各种错误。
30、设计一个测试用例应当从哪几方面考虑?
设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。