软件 = 程序 + 数据 + 文档
C/S 架构和 B/S 架构
C/S:clinet-server:这种就是我们一定要安装一个客户端才能够用的软件,就叫C/S
缺点:每次更新,都需要更新服务端与客户端,比如说超市收银系统每次更新每台电脑都
必须重装客户端,特别是有分店的情况。人力物力财力都很大
B/S:browser-server:只需要一个浏览器,就可以访问服务的,就是B/S
优点:只要更新服务器就OK,不需要去更新浏览器。用户主动性比较高。比如天猫、淘宝
软件测试就是使用人工和自动化手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别
软件测试目的
软件测试为了发现程序(软件)存在的代码或业务逻辑错误 (找到bug)
软件测试为了检验产品是否符合用户需求(提高质量)
软件测试为了提高用户的体验(提高用户体验)
按测试技术划分(是否查看代码划分):白盒测试、黑盒测试、灰盒测试
被测试对象是否运行划分:动态测试、静态测试(文档检查、代码走查)
按不同的测试手段划分:手工测试(点点点)、自动化测试(替代手工工具/写代码)
按测试包含的内容划分:功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试
其他测试:冒烟测试、回归测试、探索性测试/自由测试(测试思维)
冒烟测试、回归测试和探索性测试是软件测试过程中的不同类型的测试方法,各自具有不同的目的和应用场景:
核心功能或最重要的功能,而不是详尽地测试所有功能这三种测试方法在软件开发和测试中都具有重要作用。冒烟测试用于快速确认基本功能的可用性,回归测试用于确保现有功能的稳定性,而探索性测试用于发现潜在问题和未知情况。根据项目需求和测试目标,这些方法可以组合使用,以全面测试软件
单元测试:主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块的测试,也有具体到类,函数、方法的测试等。一般是开发来完成集成测试:单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递。—比如说注册和充值这两个功能是否能够连通系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等。一根据测试用例,进行完整的系统测试验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果的。—用户对软件进行验收Alpha测试和Beta测试是软件开发过程中的两个不同阶段的测试活动,用于评估和改进软件的质量和性能。它们有以下主要区别:
总的来说,Alpha测试侧重于软件的内部质量,而Beta测试则侧重于软件的外部可用性和用户体验。这两个测试阶段都是确保软件质量的关键步骤,帮助发现和修复问题,以满足最终用户的需求和期望