面试中经常会问道的软件工程的知识

状态描述,问题定义,技术开发,方案综述
一、软件开发模型
1、线形模型(传统模型或瀑布模型):需求分析,概要设计,详细设计,编码,测试,维护
2、原型模型:快速开发出系统原型,在客户参与下不断的重复线形模型的过程完善系统
3、增量模型:先开发出系统的核心功能,在不断的重复线形模型开发系统其他的高级特性
二、软件测试
在软件工程的早期,软件工程师试图由抽象概念到具体实现来建立软件,现在来了测试,工程师创建测试用例试图“摧毁”已经建立的软件
测试不是为了证明软件的正确,而是找出软件中没有被发现的bug
1、黑盒测试:若了解产品的特定功能,则构造测试,同时在各功能中寻找错误;
2、若了解产品的内部构造,则构造测试,以确保“所有的齿轮吻合”,即内部操作依据规约执行,而且所有的内部构件被充分利用

白盒测试:(1)保证一个模块中的所有路径至少被使用一次;(2)对所有逻辑值均需测试true和false;(3)在上下边界及操作范围内运行所有的循环;(4)检查内部数据结构以确保其有效性

黑盒测试:黑盒测试主要发生在测试后期,(1)功能不对或遗漏,(2)界面错误,(3)数据结构或外部数据库访问错误,(4)性能错误,(5)初始化和终止错误


单元测试完成对最小的软件设计单元---模块的验证工作。使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误。测试的相关复杂度和发现的错误是由单元测试的约束范围来限定的。单元测试通常情况下是面向白盒的,而且这个步骤可以针对多个模块并行进行。
单元测试是一类测试活动,白盒测试是应用的方法

集成测试:自顶向下集成,需要桩来模拟下层模块   自底向上集成需要驱动模块模拟上层模块

alpha测试是由一个用户在开发者的场所来进行的,软件在开发者对用户的指导下进行测试,开发者负责记录错误和使用中出现的问题,alpha测试是在一个受控的环境中进行的。
beta测试是由软件的最终用户在一个或多个用户场所来进行那个的,不象alpha测试,开发者通常来说不会在场,因此,beta测试是软件在一个开发者不能控制的环境中的“活的”应用。用户记录下所有的beta测试中遇到的(真正的或是想象中的)问题,并定期把这些问题报告给开发者,在接到beta测试的问题报告之后,开发者对系统进行最后的修改,然后就开始准备向所有的用户发布最终的软件产品。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值