小插曲
IT行业职位简称
PD---product director(产品总监/部门经理)比项目经理级别高
PM---Project Management (项目经理)
PL---Project Leader项目组长
PG---Prograer 程序员
SA---SystemAnalyst 系统分析师
QA--- QUALITY ASSURANCE 品质保证(软件质量保证工程师)
SE---SoftwareEngineer软件工程师(系统工程师)
SSE-- 高级软件工程师
PD---Production designer 美术设计师
BA--类型与PM,主要就是金融分析工作
软件行业文档简称
PRD---Product Requirement Document产品功能需求文档(需求规格说明)
MRD--Market Requirement Document(市场需求文档)
BRD--Business Requirement Document(商业需求文档)
BP---项目计划书
白盒测试??
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒指的是打开盒子,去研究里面的源代码和程序结果。
黑盒测试??
黑盒测试也称为功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,字关心软件的输入数据与输出数据。
灰盒测试??
灰盒测试是介于白盒测试与黑盒测试之间的测试。灰盒测试关注输出对于的正确性;同时也关注内部表现,但最终关注不像北河测试那样详细、完整,只通过一些表征性的现象、事件、标志来判断内部的运行状态。
最常见的灰盒测试是集成测试,它关心集成模块之间的接口数据。
按测试阶段划分
单元测试
集成测试
系统测试
验收测试
(回归测试、Alpha测试、Beta测试)
单元测试(unit testing)
单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。
测试阶段:编码后
测试对象:最小模块
测试人员:白盒测试工程师或开发工程师
测试依据:代码和注释+详细设计文档
测试方法:白盒测试
测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试
集成测试(Integration Testing)
集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。
测试阶段:一般单元测试之后进行
测试对象:模块间的接口
测试人员:白盒测试工程师或开发工程师
测试依据:单元测试的模块+概要设计文档
测试方法:黑盒测试与白盒测试相结合
测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响
系统测试(System)
将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。
测试阶段:集成测试通过之后
测试对象:整个系统(软、硬件)
测试人员:黑盒测试工程师
测试依据:需求规格说明文档
测试方法:黑盒测试
测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等
验收测试
验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。需要总结验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。
测试阶段:系统测试通过之后
测试对象:整个系统(包括软硬件)。
测试人员:主要是最终用户或者需求方。
测试依据:用户需求、验收标准
测试方法:黑盒测试
测试内容:同系统测试(功能...各类文档等)
回归测试
指软件缺陷修复后再次测试
Alpha测试
α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、局域化、可使用性、可靠性、性能和支持)。
大型通用软件,在正式发布前,通常需要执行Alpha和Beta测试。α测试不能由程序员或测试员完成。
Bate测试
Beta测试是一种验收测试。Beta测试由软件的最终用户们在一个或多个客房场所进行。
两者区别:
测试的场所不同:Alpha测试是指把用户请到开发方的场所来测试,beta测试是指在一个或多个用户的场所进行的测试。
测试环境不同:Alpha测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中。beta测试的环境是不受开发方控制的,用户数量相对比较多,时间不集中。
执行先后不同:alpha测试先于beta测试执行。通用的软件产品需要较大规模的beta测试,测试周期比较长
动静态测试??
静态测试:静态方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
检查项:代码风格和规则审核;程序设计和结构的审核;业务逻辑的审核;走查、审查与技术复审手册。
静态质量:度量所依据的标准是ISO9126。在该标准中,软件的质量用以下几个方面来衡量,即功能性(Functionality)、可靠性(Reliability)、可用性(Usability)、有效性(Efficiency)、可维护性(Maintainability)、可移植性(Portability)。
动态测试:动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。
手动自动测试??
手动测试
手工测试就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较原始但是必须的一个步骤。
优点:自动化无法替代探索性测试、发散思维类无既定结果的测试。
缺点:执行效率慢,量大易错。
自动测试
就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。简单说自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
自动化测试比如功能测试自动化、性能测试自动化、安全测试自动化。
通常所说的自动化是指功能测试自动化。
功能测试(Functional testing)
也称为behavioral testing(行为测试),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。
界面测试(UI)
测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美。
安全测试
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
兼容性测试
软件兼容性测试是指检查软件之间能否正确地进行交互和共享信息。(比如360浏览器、谷歌浏览器、火狐浏览器等)
易用性测试
易用性测试是指用户使用软件时是否感觉方便,比如是否最多点击鼠标三次就可以达到用户的目的。易用性和可用性存在一定的区别,可用性是指是否可以使用,而易用性是指是否方便使用。
性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。
压力测试(Stress Test)
压力测试也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等。
负载测试(Load testing)
通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力
恢复测试
主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新启动系统
冒烟测试
冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作
回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误
探索性测试(测试思维)
探索性测试可以说是一种测试思维技术它没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式