禅道简介
禅道是一款国产开源的项目管理软件,由青岛易软天创网络科技有限公司开发,旨在为企业提供一站式的研发项目管理解决方案;
它基于敏捷和CMMI(能力成熟度模型集成)等管理理念设计,将产品、项目、质量、文档、组织和事务等管理功能融为一体,能够完整覆盖从需求、开发、测试到发布的全生命周期
核心功能与特点
禅道的核心价值在于其高度的集成性和灵活性,其主要特点和功能模块如下:
-
全生命周期覆盖:禅道将产品管理、项目管理、质量管理和文档管理等核心流程打通,在一个平台上即可完成从需求收集、任务分解、Bug跟踪到版本发布的所有工作,避免了多套系统并用的混乱(www.zentao.net/book/zentao…
-
多元管理模型支持:软件不仅支持敏捷开发中的Scrum和看板方法,还融合了瀑布模型、IPD(集成产品开发) 和CMMI等主流管理模式,能够适配不同规模和类型的团队(www.zentao.net/book/zentao…
-
核心业务对象:
- 产品:管理需求和发布计划(www.zentao.net/book/zentao…
- 项目/执行:进行任务分解、进度跟踪(如燃尽图、甘特图)和团队协作(www.zentao.net/software/ap…
- 质量:管理测试用例、Bug跟踪,确保交付质量(baike.baidu.com/item/ZenTao…
-
灵活的部署与商业模式:
- 开源免费:提供功能强大的开源版本,企业可以免费下载使用甚至进行二次开发(baike.baidu.com/item/ZenTao…
- 私有化部署与云服务:支持本地服务器部署以保障数据安全,也提供即开即用的SaaS云服务(云禅道)(www.zentao.net/book/zentao…
- 商业版本:针对大型企业推出企业版、旗舰版,提供工作流、自定义报表、审批流以及专属技术支持等增强功能(www.zentao.net/zentao-max.…
-
技术架构:基于PHP语言开发,底层架构注重模块化和扩展性,提供了完善的API接口,便于与其他系统(如Git、Jenkins)集成(www.51testing.com/html/61/n-7…
发展历程
禅道项目于2009年启动,2010年发布1.0版本,经过多年发展,已成为国内项目管理领域的知名品牌,连续多年在同类软件中市场占有率领先(baike.baidu.com/item/%E7%A6…
发展历程
禅道项目于2009年启动,2010年发布1.0版本,经过多年发展,已成为国内项目管理领域的知名品牌,连续多年在同类软件中市场占有率领
禅道的基本流程
- 由产品经理创建产品及需求;
- 项目经理更具产品需求创建对应的项目;
- 项目经理与产品经理确定当前项目要做的需求
- 项目经理将要坐对的需求指派到开发,又开发经理分解之后指派到对应的开发
- 开发结束之后,将被测需求指派给测试
- 测试人员根据需求编写测试用例
- 测试人员测试用例进行执行,提交BUG
测试结束的标准
- 因项目的需要结束测试;
- 收到开发等方面因素制约而阻塞
- 软件测试质量不达标
- 按照规定完成了全部的测试工作
- 特别规定的测试结束标准:如覆盖率达到99%;发现的缺陷数量减少至多少...
测试结束后要完成的工作
- 收集测试工作的产出物并出具测试总结报告(产出物:用例执行结果记录表,bug表单等)
- 组织或参与复盘会议
- 收集整理并归档历史数据(报告图表日志等历史文档)
测试报告
测试报告,是对测试的过程和结果的汇总描述,其核心内容是两个:
- 一个是测试结果的汇总报告,是针对所测软件本身,是给所测软件一个客观真实的评价;
- 一个是测试过程的汇总总结:是针对测试过程改进,回顾测试流程中存在的不足,加以改进;
- 主要包含以下内容:引言,测试用例,测试环境,测试方法,测试时间安排,缺陷汇总分析,测试过程改进和附录等;
缺陷汇总及分析
- 缺陷总结:一般按照严重程度,功能模块进行划分。提供折线图柱状图等,可以直观一点,该项很重要缺一不可;
- 缺陷分析:通过上面的总结,对bug进行分析。这项测试报告的核心所在,一般有缺陷功能模块分析,缺陷类型分析和缺陷发现阶段分析;
- 遗留问题:目前软件残存的已知问题。有些是解决不掉的问题,该项很重要,绝不可少;
- 测试结论:基于以上分析,给被测软件一个全面客观真实的结论,功能如何,性能如何,稳定性和安全性等等给出评价;
测试报告组成
- 测试过程改进:对整个活动进行一个总结,有哪些得失,测试方法和流程需要哪些改进,测试过程中暴露出哪些问题,有哪些好的地方值得表扬等。
- 附录:一般附上缺陷列表以及执行过的测试用例地址等
Web功能测试:
B/S与C/S架构
什么是C/S架构:C/S架构是第一种比较早的软件架构,即服务器-客户机Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
特点:就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用,比如:qq,office办公软件等。 C/S的架构分层:可以分为客户机和服务器两层,第一层是用户表示层,第二层是数据库层。
- 第一层:在客户机系统上结合了界面显示与业务逻辑;
- 第二层:通过网络(TCP/IP)结合了数据库服务器;
优点:
- C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排版,满足客户的需要)
- 安全性能可以很容易保证。(因为只有两层的传输,而不是中间有很多层)
- 由于只有一层交互,响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如qq,每天那么多人在线也不觉得慢)
缺点:
- 适用面窄,通常用于局域网(LAN)中;
- 用户群体固定。由于程序需要安装才可以使用,因此不适合面向一些不可知的客户;
- 维护成本高,发一次升级,则需要所有客户端的程序都升级改变
B/S架构是什么? 全称为:Browser/Server,即浏览器、服务器结构。 Browser指的是WEB浏览器,极少数事物逻辑在前端实现,但主要事物逻辑在服务器端实现。B/S架构的系统无须特别安装,只有WEB浏览器即可。
B/S架构分层:
- 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能;
- 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能;
- 第三层数据层:主要是接受客户端请求后独立进行各种运算;
优点:
- 客户端无需安装,有WEB浏览器即可。
- BS架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
- BS架构无需升级多个客户端,升级服务器就可以,可以随时更新版本,而无需用户重新下载。
缺点:
- 在跨浏览器上,BS架构不尽如人意;
- 表现要达到CS程序的程度需要花费不少精力;
- 在速度和安全性上需要花费巨大的设计成本,这是BS架构的最大问题;
- 客户端服务器的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。
WEB系统测试概述
在WEB系统操作过程中,基于WEB系统的测试,确认和验收是一项重要而富有挑战性的工作;
基于WEB的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适(兼容性测试)
重要的是,还要从最终用户的角度进行安全和可用性测试。然而,Internet和WEB媒体的不可预见性使测试基于WEB的系统变得困难。因此,我们必须为测试和评估复杂的基于web的系统研究新的方法和技术;
WEB系统测试策略
WEB测试分为5个部分:
- 用户界面(UI)测试:菜单导航测试,图形测试,内容测试,整体界面测试;
- 功能测试:业务流程测试,表单测试+数据库测试,链接测试,Cookies测试,设计语言测试
- 兼容性测试
- 安全测试
- 性能测试
WEB UI测试--导航测试
导航描述了用户在一个页面内操作的方式,在不同的用户接口控制之间,或在不同的链接页面之间。
导航的测试优先考虑以下几个方面:
- 导航是否直观;
- WEB系统的主要部分是否可通过主要存取;
- WEB系统是否需要站点地图,搜索引擎或其他的导航帮助
WEB UI测试--图形测试
在WEB应用系统中,适当的图片和动画既能起到广告的宣传作用,又能起到美化页面的功能。一个WEB应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等;
测试的主要内容有:
- 要确保图形有明确的用途,图片和动画不要胡乱的堆在一起,以免浪费传输时间。WEB应用系统的图片尺寸要尽量地小,并且能清楚的说明某件事,一般都链接到某个具体的页面;
- 验证所有页面字体的风格是否一致。
- 背景颜色应该与字体颜色和前景颜色相搭配
- 图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩,最好能使图片的大小减小到30K以下--要保证图片清晰度也要保证图片加载速度
- 文字回绕是否正确,如果说明文字指向右边的图片,要确保图片出现在右边,不要因为使用图片而使窗口和段落排列古怪或者出现孤行。
- 通常来说,使用少许或尽量不使用背景是个不错的选择。最好使用单色背景,和导航条一起放在页面的左边。图案和图片可能会转移用户的注意力。
WEB UI测试--内容测试
用来检验WEB应用系统提供信息的正确性、准确性和相关性。 测试内容有:
- 信息的正确性是指信息是可靠的还是误传的。
- 信息的准确性是指是否有语法或拼写错误。
- 信息的相关性是指是否在当前页面可以找到与当前浏览信息相关的信息列表或入口;
WEB UI测试--表格测试
表格经常和其他界面元素一起协同使用,主要承载数据的归纳,展示与对比的功能,是列表的一种; 测试内容如下:
- 列表列宽是否合理;
- 列表数据太宽有没有提供横向滚动;
- 列表的列名有没有与内容对应;
- 列表的每列的列名是否描述的清晰
- 列表是否把不必要的列都显示出来
- 点击列表进行排序是否会报错
- 双击或单击列表信息,是否报错;
WEB UI测试--整体页面+易用性测试
- 风格、样式、颜色是否协调;
- 界面布局是否整齐、协调(保证全部显示出来,尽量不要使用滚动条)
- 界面操作、标题描述是否恰当(描述有歧义注意是否有错别字)
- 操作是否符合大多数用户的常规习惯,方便操作
- 提示界面十分符合规范
- 界面中各个控件是否对齐
- 有没有支持Tab键,键的顺序要有条理,不乱跳;
- 有没有提供相关的快捷键
- 控件的提示语描述是否正确
- 模块调用是否统一,相同的模块是否调用同一个界面
- 用滚动条移动页面时,页面的空间是否显示正常
- 窗口标题或图标是否与菜单栏的统一
- 窗口的最大化最小化是否能正确切换
- 执行风险操作时,有提示确定或删除等提示吗
WEB功能测试
功能测试主要包括:业务流程测试、表单测试+数据库测试、链接测试、Cookies测试、设计语言测试;
WEB 功能测试--业务流程测试
业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。
WEB 功能测试--表单测试
当用户通过表单提交信息时,都希望表单能正常工作
- 如果使用表单来进行在线注册,要确保提交按钮能正常工作,当注册完成后应提示注册成功的消息
- 如果使用表单收集配送信息,应确保程序能够正确处理这些数据;
- 要测试这些程序,需要验证服务器能正确保存这些数据,而且后台运行的程序能正确解释和使用这些信息;
表单中的数据会经过两次校验:
- 前端脚本校验,在输入时脚本会自动进行初步的判断,判断数据是否合法;
- 后端数据的准确性进行校验,输入的数据和数据库中的数据是否一致
- 方法1:边界值测试,等价类测试,以及异常类测试
- 方法2:测试中要保证每种类型都有2个以上的典型数值的输入,以确保测试输入的全面性。
WEB 功能测试--超链接测试
链接是WEB应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段;
链接测试主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面
链接测试可以从三个方面来测试:
- 首先,测试所有链接是否按指示的那样确实链接到了该链接的页面
- 其次,测试所链接的页面是否存在;
- 最后,保证WEB应用系统上没有孤独立的页面,所谓孤立页面是指没有链接指向该页面,无法完成正确跳转
链接测试可以自动进行,链接测试必须在集成测试阶段完成,也就是说,在整个WEB应用系统的所有页面开发完成之后进行测试;
采取措施:采用自动检测网站链接的软件来进行;
- Xenu Link Sleuth 免费 绿色免安装软件
- HTML Link Validator 共享(免费使用30天)
WEB兼容性测试
兼容测试(Compatibility Test Suite)官方简称CTS,指对所涉及程序与硬件,软件之间的兼容性测试。一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间,几个软件之间或软硬件之间的相互配合程度;
兼容性测试是指测试软件在特定的硬件平台上,不同的应用软件之间,不同的操作系统平台上,不同的额网络等环节中是否能够很友好的运行的测试。
WEB兼容性测试包括:
- 浏览器兼容测试:测试程序在不同浏览器上是否可以正常运行,功能能否正常使用;
- 屏幕尺寸和分辨率兼容测试:测试程序在不同分辨率下能否正常显示;
- 操作系统兼容测试:测试程序在不同的操作系统下面能否正常运行,功能能否正常使用,显示是否正常;
- 不同设备型号兼容测试:主要针对于APP,现在移动设备型号五花八门,主要测试APP在主流设备上能否正常运行,会不会出现崩溃的现象;
WEB兼容性测试--兼容性测试的方法
兼容性测试可以全手工测试,主要是测试要测试的软件在主流浏览器和常用操作系统上的主流程和主界面。
兼容测试也可以借助第三方兼容性测试工具进行测试:推荐百度众测平台和云测平台,里边包含了安卓和IOS的测试;测试内容包含功能测试、深度兼容测试、性能测试、网络环境测试,还可以模拟海量用户测试。测试工程师只需要将打包好的apk或者IPA(ios)文件,上传到测试平台,选择需要测试的设备型号,开始任务,测试完成后会生成一份测试报告,可以查看错误页面和错误日志,如果需要调整,可以提交bug,告知程序员修改;
WEB兼容性测试--操作系统兼容
同一应用在不同的操作系统下,如Windows XP Windows7、Windows8、Windows10、Mac、Linux等,可能会出现兼容性问题,我们应当针对当前主流的操作系统版本进行兼容性测试;
WEB兼容性测试--浏览器兼容
国内主流的浏览器内核主要有3种:IE内核、Firefox内核和Chrome内核;
- IE内核常见的浏览器有:IE6、IE7、IE8、IE9、IE10、IE11、360安全浏览器(兼容模式)360极速浏览器(兼容模式)搜狗浏览器(兼容模式)QQ浏览器等;
- Firefox内核常见的浏览器即火狐浏览器(Firefox);
- Chrome内核常见的浏览器有:Chrome、360安全浏览器(极速模式)、360极速浏览器(极速模式)、搜狗浏览器(高速模式);
WEB兼容性测试--分辨率兼容
同一页面在不同分辨率下。显示的样式可能会不一样,所以需要进行分辨率的兼容性测试(WEB页面适配);
对于测试来讲,必须针对需求规格说明书中建议的分辨率进行专门的测试。对于需求规格说明书中没有规定的分辨率的项目,测试应该在完成主流分辨率的兼容性测试的前提下,尽可能进行一些非主流分辨率的兼容性测试,在一定程度上保证大部分。
常见的笔记本电脑分辨率: 分辨率有1024600 、1366768、 1280800 、1600900、 1024768、 1440900、 1600900、 19201080等。笔记本电脑的屏幕分辨率大多都是1080P,这里通常指的是1920*108
WEB安全测试入门之SQL注入
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程;
与普通测试的区别:
- 目标不同:测试以发现BUG为目标,安全测试以发现安全隐患为目标
- 假设条件不同:测试假设导致问题的数据是用户不小心造成的,接口一般只考虑用户界面。安全测试假设导致问题的数据是攻击者处心积虑构造的,需要考虑所有可能得攻击途径;
- 思考领域不同:测试以系统所具有的功能为思考域。安全测试的思考域不但包括系统的功能,还有系统的机制,外部环境,应用与数据自身安全风险与安全属性等。
- 问题发现模式不同:测试以违反功能定义为判断依据,安全测试以违反权限与能力的约束为判断依据;
常见的安全测试工具:
- AppScan:IBM公司的web扫描工具,对网站等web应用进行自动化的应用安全扫描和测试;
- Burp Suite:是一款新推出的全新版本渗透测试工具软件,它主要是用于测试网络的安全性,操作简单使用很方便,帮助用户快速有效的进行网络安全测试;
- Metasploit:一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的环节措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
- Wireshark:是一个网络封包分析软件;
- Kail Linx:基于Debian的Linux发行版,设计用于数字取证操作系统,每一季度更新一次
常见的安全漏洞: XSS、CSRF、URL跳转、SQL注入、命令注入、文件操作漏洞;
WEB性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,负载测试和压力测试都属于性能测试,
负载测试:确定在各种工作负载下系统的性能,目标是测试当前负载逐渐增加时,系统各项性能指标的变化情况得到最大能接受的性能指标;
压力测试:是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别测试;