1.测试团队都有哪些角色,各负责什么任务,各有多少人?
测试负责人:指定测试计划,监督安排任务,进行测试总结。1
测试工程师:进行测试需求分析,设计测试用例,搭建测试环境、执行测试用例、提交并跟踪缺陷3
技术支持:负责环境维护1
配置管理员:维护版本架构、维护版本库、文档配置1
质量保证人员:负责软件质量方面的工作1
2.什么是软件开发生命周期?
从软件最初构思到公开发行的过程。
瀑布模型的过程就是计划、需求、设计、编码、测试、运行、维护循环。
瀑布模型有严格的开发步骤,每个阶段是按顺序进行的,每个阶段必须编写完整的文档,每个阶段完成后必须经过审查才能进行下一步。
瀑布模型不能迭代,不能反复,测试在编码之后,测试太晚,测试的只是程序
3.软件开发有什么模型,软件测试主要有哪些模型?
软件开发模型:大爆炸模型、边写边改模型、瀑布模型、螺旋模型、敏捷开发模型
软件测试模型:V模型、w模型、H模型、X模型、前置测试模型、敏捷测试模型
4.简述V模型
V模型的过程: -用户需求 -验收测试
-需求分析 -系统测试
-概要设计 -集成测试
-详细设计 -单元测试
-编码
优点:V模型的左边表示传统的瀑布开发模型,V的右边明确的将测试分为不同级别或阶段,测试过程更为具体,
测试的各个阶段和开发的各个阶段相对应。
V模型的测试策略包括低层测试高层测试,底层测试是为了源代码的正确性,高层测试是为了整个系统满足用户的需求,
缺点:测试对象就是程序本身,忽视了测试活动对需求分析,系统设计等活动的验证和确认的功能,直到后期的验收测试才被发现。
测试是开发之后的一个阶段,实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。
5.简述W模型
W模型的过程:左边V是需求分析--概要设计--详细设计--编码实现---模块集成--系统构建---系统安装
右边V是需求测试--概要设计测试--详细设计测试--单元测试---集成测试--系统测试--验收测试。
优点:1.W模型体现了尽早和不断测试的原则,既强调测试方案设计,也强调测试执行。
2.左侧V是开发,右边V是与开发并行的测试,相对V模型,W模型增加了软件各个开发阶段的验证和确认活动,W明确表示出了测试与开发是并行的关系,测试与开发是同步进行的,有利于尽早的更全面的发现问题。
3.测试伴随整个软件开发的周期,且测试的对象不仅仅是程序、需求、设计等同样要测试。
缺点:在W模型中,需求、设计、编码等活动被视为串行的,测试和开发活动也保持着一种线性的前后关系,上一段完全结束,才可以开始下一个阶段的工作,这样就无法支持迭代的开发模型,不利于当前软件开发复杂多变的情况。
6.简述H模型
H模型将测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰的体癣出来,H模型的测试流程是只要测试准备工作完成,达到测试就绪点,测试就可以进行了。
优点:1.软件测试不仅仅指测试的执行还包括很多其他活动
2.软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发的进行,当某个测试时间点就绪的时候,软件测试即从测试准备阶段进入测试执行阶段
3.H模型反应出软件测试要今早准备,今早执行
4.软件测试可以进行迭代、反复进行
7.敏捷开发
敏捷开发的核心思想是:以人为本,适应变化。敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。
具体讲:1.认为个人和交互重于过程和工具,强调通过过程和工具理解个人和交流的作用
2.认为可用软件重于完备的文档,强调通过全面的文档理解运行的软件
3.认为客户写作重于合同谈判,强调通过合同和谈判得到客户的协作
4.认为响应变化重于遵循计划,强调在计划的执行中做出对变更的响应
特点:1.敏捷开发提倡迭代式的开发模式,并强调测试在其中的作用
2.敏捷开发是以用户为中心,以客户需求为导向的开发过程,在此过程过程中随时做好“迎接变化”的准备,客户是敏捷的关键环节。
3.敏捷开发没有单一固定的开发方法或过程,敏捷开发有三个共同点:依赖客户的参与、测试驱动以及紧凑的迭代开发周期。
8.敏捷测试
a、敏捷测试是协同测试的一种形式,程序员结对编程,程序员分饰测试员角色,敏捷测试是连续测试
b、敏捷测试侧重单元测试和验收测试,单元测试的过程是先设计单元测试用例,然后进行编码,之后执行测试。
c、敏捷测试强调客户参与,单元测试通过之后代码集成到代码库里,再由客户进行验收测试、验收测试的结论反馈给开发人员,缺陷得以迅速修复。
9.软件质量要求有哪些?
功能要求和非功能要求
10.软件的非功能要求有哪些?
性能要求(负载测试、压力吃、容量测试、可靠性测试),界面测试、兼容性测试、易用性测试、文档测试、可用性测试、安装测试、安全测试、灾难恢复测试等。