"软件测试期末复习题"
软件测试是一门复杂的学科,它涉及到软件开发的各个方面,从需求分析到测试和维护。为了构建测试人员和开发人员更良好的沟通,需要具备良好的沟通技巧和团队协作精神。
要做一个合格的软件测试工程师,需要具备以下素质:
1. 具有良好的沟通技巧和团队协作精神。
2. 具有软件测试的基本知识和技能,如软件测试的目标、测试过程模型、黑盒测试和白盒测试等。
3. 具有良好的分析和解决问题的能力。
4. 具有良好的学习和适应能力。
软件测试的目标是尽可能多的发现软件中的错误和缺陷,并对软件质量进行度量和评估以提高软件质量。软件测试的过程模型包括V模型、W模型和H模型等。黑盒测试是从用户角度出发进行测试,白盒测试是从程序设计者的角度进行测试。
软件测试的对象可以是单个程序,也可以是模块集成过程中的多个临时版本和最终软件。软件测试的唯一依据是软件的需求规格说明书(SPEC)。典型的黑盒测试方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表法、正交试验法、场景发、功能图法等。
软件质量包括6个维度:功能性、可靠性、可用性、效率、可维护性、可移植性。根据ISO9126质量模型,可以构造软件的静态质量度量模型,通过量化的数据评估被测程序的质量。
逻辑覆盖法包括语句覆盖法、判定覆盖法、条件覆盖法、判定—条件覆盖法、条件组合覆盖法、修正条件判定覆盖法等。单元测试是对软件基本组成单元的测试,可以看作是编码工作的一部分,一般应该由编程人员完成。
集成测试的用例在概要设计阶段完成。集成测试一般由专门的测试小组完成。集成测试花费的时间远远要超过单元测试。集成测试的策略包括自底向上的集成方式。
确认测试和系统测试一般不由软件开发人员执行,而应由软件企业中独立的测试部门和第三方测试机构完成。确认测试一般以功能测试为主,而在系统测试中一般以性能测试为主,如压力测试、负载测试、强度测试、容量测试等。
验收测试是以用户为主进行的测试,软件开发人员、SQA、人员、也应该参与。自动化测试的认识误区包括自动化测试应完全取代人工测试、测试用例可完全由测试工具自动完成、测试工具可以在任何场合使用、自动化后测试效应立刻提高、自动化测试顺利引入后就一劳永逸等。
主要的测试管理工具包括HP Mercury公司的TestDirector、IBM Rational公司的TestManager等。功能测试工具包括HP Mercury公司的WinRunner和QuickTestPro、IBM Rational公司的Robot等。性能测试工具包括HP Mercury公司的LoadRunner等。白盒测试工具包括XUnit系列开源框架等。
CMM模型按由低到高的顺序包括初始级、可重复级、已定义级、已管理级、优化级等。CMMI模型按由低到高的顺序包括初始级、、已管理级、已定义等。
1