概论
文章中提到的东西都是工作中实践过的经验,并不保证全面性.
Web测试一般包含如下内容:
- 功能测试
- 性能测试
- 用户界面测试
- 兼容性测试
- 安全性测试
其实这只是大概的区分,各种不同的类别的测试之间其实是有很多交集的.比如:
- 当网站出现性能问题的时候,同时网站的某些功能可能会失效,比如页面打开失败,表单提交失败等等
- 当网站在一个它不兼容的浏览器下运行的时候,也会导致功能失效,用户界面出现混乱,甚至性能问题
以上的五项内容中的每一项都可以是一个大的主题做深入的分析.
另外,对于所有的web测试人员来说,学会使用Firebug以及Fiddler这样的抓包工具绝对是必不可少的。这些工具的使用应该始终贯穿的测试工作之中
一.功能测试
对于一般被测试的软件,我可以用"树"来比喻一个软件.一颗树有主干,分支和叶子.主干和分支代表软件的流程,叶子代表软件的局部步骤(页面). 我们测试软件的时候既要保证软件的流程正确,也要保证组成流程的各个分支步骤页面的正确性.
拿淘宝来购物来说,我们可以把登录页面,购物车页面之类的当成是叶子,完成一个购物流程,当成一个主干或者分支. 软件就是由这很多的叶子以及相对少一些的分支组成.
经典的教科书上往往会介绍如下功能测试测试用例的设计方法:
- 边界值划分
- 等价类
- 正交表
- 决策表
当我们测试单个页面的时候,往往会用到这些方法.但是这些方法只是测试到了软件的局部.
除此之外,我们还要考虑被测试软件的工作流程,保证所有的提供给用户的工作流程都可以跑通,这个时候,探索式测试可以派上用场.有时候,我们还需要化流程图来辅助测试.
关于探索式测试,详见探索式测试读书笔记一文
另外,还有更重要的几点:
- 每当打开页面或者提交数据的时候,多打开Fiddler或者Firebug看看到底发送了哪些http请求,以及关键请求的http response是什么.当发现功能异常之后,根据我们用Fiddler看到的数据,往往可以自己判断问题到底是出在前台的JS还是后台service. 关于Fiddler,详见Fiddler小结一文
- 有空多看看系统的日志,哪里能找到一些隐藏在页面之外的异常
- 当我们在页面上完成了一些功能之后,要彻底明白系统背后(数据库)到底完成了什么东西,我们提交的数据到底被存储到哪里去了
综上所述,我们做功能测试的总体思路是从 点(树叶)->面(主干,分支)->后台(根)
二.性能测试
性能测试主要要从前端和后台两个角度去理解,我们可以首先使用Fiddler去大概判断网站的性能问题是出在前台还是后台.
如果Http请求的大部分时间是花在html,css,js之类的静态资源加载上,那么基本是前台性能有问题.如果某个后台的service特别费时,那么后台必定存在性能问题
前台性能
除了用Fiddler看性能外,我们可以使用Yahoo的Firefox YSlow插件去检测前端的性能.此外,关于前端性能具体的优化策略,可以参阅<High Performance Web Sites>,其中主要涉及到http协议和浏览器缓存机制
详见Web前端优化14条原则一文
后台性能
对于大部分测试工程师来说是很难直接去优化后台性能的,但是依然能去发现一些有意义的线索
- 用Fiddler去查看http请求,如果某个请求特别耗时,则可能存在性能问题
- 后台代码设计到SQL查询的时候,往往测试员也是有基础去测试那些SQL的查询时间和执行时间,如果因为数据量大而导致查询太慢的话,可以建议使用数据库的索引
- 后台的cache机制: 我们的项目大量的使用了后台的cache机制
总之,做性能测试绝对不是简单地直接拿Loadrunner或者Jmeter去录制一下脚本,然后运行,分析结果.这一切的前提应该是充分了解了被测试系统的前台跟后台的性能
三.用户界面测试
这点关注不多,主要如下:
- 字体大小颜色(主要通过修改css文件)
- 弹窗的风格最好保持统一
四,兼容性测试
主要考虑如下几个因素组合:
- 不同的操作系统
- 不同的浏览器
- 浏览器的不同版本
- 显示器的不同分辨率
- 不同的浏览设备(PC,手机,平板)
五.安全性测试
安全性测试主要知道有如下几点:
-
SQL注入:后台使用Preparedstatement去处理SQL
- XSS攻击:这个问题非常复杂.学习中..
做为一个测试工程师,我觉得应该记住如下3点:
- 前台的JS验证是不可靠的
- 用户进行任何输入都是有可能的
- Web本身似乎也是不安全的:无法解释更多....
接下去举一些实际的例子:
隐藏的按钮
当我们用Firebug看页面的HTML的时候,往往能找到一些隐藏的内容,比如某个元素的 class="gradient hide",或者类似的东西.当我们直接修改掉这些属性之后,这些隐藏的东西就会在页面上暴露出来,对系统的安全造成隐患.
另外如果有某些值也可能会存储在隐藏域中
Disabled按钮
与隐藏的按钮类似,页面上经常有些可见但是灰调的按钮,也可以尝试改变他的属性,让它变成可以触发的,或许会有所发现
不该被访问的URL
如果某个URL不该被某些人访问,一定要在权限上去控制.仅仅去掉某个链接/按钮是不够的
后台Service
如果网站后台的Service能被捕捉到,而且又没有权限控制,那将是灾难性的
相关推荐
Web 测试是一个复杂的过程,它涉及到多个方面的测试,包括界面测试、功能测试、兼容性测试、性能测试等。在本文中,我们将总结 Web 测试的经验,包括界面测试要素、功能测试技术、兼容性测试、性能测试等方面。 一...
### Web开发人员工作心得:成长与挑战 #### 核心知识点提炼 1. **学习与适应:**在Web开发领域,技术更新迅速,持续学习至关重要。对于初入行业的开发者而言,掌握新技能、理解现有技术框架是成长的关键。 2. **...
在进行Web网页制作实训的过程中,我深感网页设计与制作是一项需要细致规划、技术技能与艺术审美的综合工作。这次实训主要围绕上学期学习的HTML、CSS和JavaScript基础,以及VBScript的应用,来构建个人网站。以下是我...
### Web应用测试知识点详解 #### 一、实验背景与目的 **实验背景:** 随着互联网技术的迅猛发展,Web应用程序已成为人们日常生活中不可或缺的一部分。为了确保Web应用的稳定性和用户体验,进行系统的Web应用测试至...
通过以上对《Web安全技术心得手册》部分内容的概述,我们可以看到该手册涵盖了Web安全领域的多个关键主题,包括但不限于路径遍历、文件上传、跨站请求伪造(CSRF)、SQL注入、Linux下的渗透测试技术、旁注攻击、图片...
Web 前端实训心得体会 Web 前端实训心得体会是指在 Web 开发过程中,开发者所获得的经验和体会。这些经验和体会来自于实践中遇到的问题、解决方案和收获的总结。 1. HTML/CSS 基础知识 * HTML(HyperText Markup ...
2. Windows客户机用于测试Web服务 【实验步骤】 1. **检查和配置Web服务器** - 使用命令检查系统是否已安装Web服务器软件包,如`httpd`或`apache`。 - 配置文件通常位于`/etc/httpd/conf/httpd.conf`,在此处可...
Web课程设计报告主要探讨了基于JSP的新闻发布系统,这是一个常见的Web应用程序,用于实时发布、管理和更新在线新闻。在软件工程的学习过程中,这样的课程设计是培养学生实际开发能力的重要环节。 1. 引言 这部分...
在“Web学习总结(2)”这篇博文中,作者Fernador主要分享了他在Web开发领域的深入学习体验和一些实用工具的使用心得。虽然没有直接给出详细的描述,但我们可以从标题和标签中推测出一些关键知识点。以下是根据这些...
本文总结了作者在为期10天的java和web实训中的心得体会。作者通过实训,学习了许多关于Java Web的知识,并了解了开发工程的需求、设计、实现、确认及维护等活动整个过程。作者强调了需求分析的重要性,并了解了软件...
"DHCP/DNS/WEB/FTP虚拟机下的搭建与测试" DHCP(Dynamic Host Configuration Protocol)是一种为计算机网络设备提供自动化的TCP/IP设置的协议。它可以使得计算机自动获得IP地址、子网掩码、默认网关、DNS服务器地址...
AppScan是IBM公司推出的一款强大的Web应用程序安全测试工具,它主要针对常见的Web应用安全漏洞进行黑盒测试。通过深入分析和扫描,AppScan能够帮助企业识别并预防潜在的安全风险,确保Web应用的安全性。 首先,...
课设心得和结果报告则是对整个过程的总结和反思,帮助学生深入理解软件测试的价值和挑战。 总之,这个软件测试报告涵盖了服务器运维、Web应用开发、单元测试、性能测试以及自动化测试等多个方面的知识点,对于提升...
网络安全面试题,适合刚找工作的实习生
13. **UFT的最新发展**:虽然我们讨论的是QTP,但要注意,随着技术的发展,UFT增加了对移动应用、Web服务和API测试的支持,以及增强了AI和机器学习的集成,提升了自动化测试的智能化程度。 通过深入学习和实践这些...
- UFT是一款功能强大的自动化测试工具,广泛应用于GUI测试,支持多种应用类型,如ActiveX、Visual Basic、Web等。 - 在Windows XP或Win 7操作系统上运行UFT 11.5版本,需要安装相应的插件来支持不同类型的测试。 ...
(7)web测试技术经典案例 (8)WIN2003邮件服务器构建 (9)测试总结 (10)防火墙技术 (11)路由器配置命令 (12)企业防火墙安全防护配置七大问题 (13)网站功能测试 (14)在 Windows xp 上安装 GreenAMP 和 BugFree 的详细...
它主要用于预测系统行为并优化性能,支持Web、云、移动等多种应用环境的测试。LoadRunner通过模拟成千上万个用户并发操作的方式,帮助开发和测试人员找出系统的瓶颈所在,并评估系统是否能够满足性能需求。 #### 二...