1.什么是软件?
软件=程序+数据+文档,软件测试的对象就是程序、数据和文档。
2.C/S架构和B/S架构?
C/S架构:缺点,服务器端和客户端都需要进行升级,例如超市系统,每台客户机都需要进行升级,人力和财力消耗较大。
B/S架构:只需要一个浏览器就可以访问服务器。在软件升级时只需要进行服务器升级。
3.软件测试的定义?
软件测试是使用人工和自动化手段来进行运行或测试的某个系统的过程,其目的在于检验它时候满足规定的需求或弄清预期结果与实际结果之间的差别。
4.为什么要进行软件测试?
1).软件测试是为了发现软件程序中存在代码或业务逻辑的错误。(找bug)
2).软件测试是为了检验产品是否满足客户的需求。(提高质量)
3).软件测试是为了提高用户的体验。(满足用户)
5.测试分类
1).按测试分类
白盒测试(需要关注内部程序的逻辑,不需要关注外部的输入和输出)、黑盒测试(只需要关注输入和输出,不需要关注程序内部的逻辑)、灰盒测试(二者均需要关注)。
2).按测试阶段分类
单元测试、集成测试、系统测试、验收测试
单元测试:对模块、函数进行测试,测试人员由开发人员进行。
集成测试:程序结合外部系统环境进行测试。
验收测试:主要以用户为主进行测试
alpha测试:将用户请到开发方对软件进行的测试,测试环境受到开发方的控制,测试的人员不多,测试时间比较集中,执行人员通常会有:用户,测试人员,公司内部人员。
beta测试:测试环境不受开发方的控制,测试人较多,测试时间不集中
两者之间的区别:1.测试场所不一样。2.先做alpha测试再做beta测试。
3).被测对象是否运行:
动态测试:运行被测系统,而进行的测试
静态测试:不需要运行被测系统,而进行的测试(界面检查,文档检查,代码走查)
4).按测试内容划分包括:
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试
5).其它测试:
冒烟测试、回归测试、探索性测试\自由测试。
冒烟测试:在进行正式测试之前对主要功能核心功能进行的测试,冒烟测试一般可能开发或者测试主管来负责。
回归测试:开发对存在问题的功能进行修改后,再一次进行修改。
探索性测试:根据自己项目经验而进行的随意测试(测试思维)。