1、描述用浏览器访问http://www.baidu.com的过程
当你在浏览器中输入http://www.baidu.com并按下回车键时,会触发以下一系列操作:
DNS 解析:首先,浏览器会向 Domain Name System (DNS) 服务器发送一个请求,要求解析 “www.baidu.com” 这个域名对应的 IP 地址。DNS 服务器会响应这个请求,返回对应的 IP 地址。
建立 TCP 连接:浏览器获取到 IP 地址后,会通过 TCP 协议向该地址发起一个连接请求。这个过程通常被称为 TCP 握手。
发送 HTTP 请求:一旦 TCP 连接建立,浏览器就会通过此连接向服务器发送一个 HTTP GET 请求。这个请求会包含一些信息,比如浏览器的类型、所支持的语言等。
服务器处理请求:服务器收到请求后,会根据请求信息生成一个 HTTP 响应,响应中包含请求的网页内容,以及一些元信息,如状态码、内容类型等。
浏览器接收响应:浏览器收到服务器的 HTTP 响应后,会解析响应内容,并渲染显示在页面上。这时你就可以看到 “www.baidu.com” 的首页了。
TCP 连接关闭:如果 HTTP 连接没有设置为 Keep-Alive(即在一段时间内保持连接),那么在服务器发送完响应后,TCP 连接就会被关闭。
以上就是访问一个网页的基本过程,实际过程可能会根据网页内容、网络情况等有所不同。例如,如果网页中包含了其他资源(如图片、CSS、JavaScript 文件等),浏览器可能需要再发起额外的 HTTP 请求来获取这些资源。
2、以京东首页为例,设计用例框架。(注意框架设计逻辑,区域划分,专项测试等,不需要详细用例,需要查看 PC 可直接和辨识管提要求)
功能测试:
首页导航链接:包括顶部导航栏、底部链接、各商品分类链接等是否可以正常跳转。
搜索功能:输入关键词进行搜索,看返回的结果是否符合预期。
登录与注册功能:包括正常登录、注册,以及各种异常情况下的表现。
广告轮播图:是否可以自动轮播,手动切换。
购物车:添加商品、修改商品数量、删除商品等操作是否正常。
性能测试:
加载速度:首页的加载速度是否在可接受范围内。
压力测试:模拟大量用户同时访问,看服务器是否能够稳定运行。
兼容性测试:
不同浏览器:在Chrome、Firefox、Safari、IE等浏览器上的表现。
不同设备:在不同分辨率的电脑、平板、手机上的显示是否正常。
不同网络环境:在4G、WiFi、低速网络等环境下的加载速度和表现。
安全性测试:
输入验证:对于所有的输入框,都要进行边界值、非法值输入,看是否有恰当的错误提示,以及是否有未预期的行为。
保护用户隐私:如用户个人信息、支付信息等是否得到了妥善保护。
以上只是个测试框架的大概思路,具体的测试用例需要根据实际的功能和需求进行详细设计。
3、如何测试购买下单和退货流程
测试购买下单和退货流程主要分为以下几个步骤:
选择商品:首先需要验证是否可以顺利浏览商品,是否可以通过搜索、分类等方式找到想要的商品。选择商品加入购物车后,购物车内的商品数量和总价是否准确。
下单流程:检查是否可以成功进入支付页面,填写或选择地址、支付方式,提交订单后是否有明确的反馈(如订单号、预计到货时间等)。同时要注意测试各种异常情况,如库存不足、超过购买限制等。
支付流程:模拟支付过程,检查是否可以成功跳转到支付页面,支付后是否有明确的支付成功反馈,余额是否准确扣除。同时还要测试各种异常情况,如支付超时、余额不足等。
订单状态:下单支付后,订单状态是否及时更新,如是否可以在订单记录中看到新的订单,订单状态是否正确(待发货、已发货、已签收等)。
退货流程:测试能否成功申请退货,填写退货原因,退货后订单状态是否更新,退款金额是否正确,退款是否及时到账。
以上只是基本流程,具体的测试用例需要根据实际的业务流程和需求进行设计。同时,还需要结合性能测试、安全测试等其他类型的测试来进行。
4、什么是sql 注入,什么是跨站脚本,什么是跨站请求伪造?
这三个术语都与网络安全漏洞有关,下面是对每一个的简化说明:
SQL注入(SQL Injection):
SQL注入是一种攻击手段,攻击者通过在Web应用的输入字段中输入恶意的SQL代码,试图对后端数据库执行未授权的查询或命令。如果Web应用未对用户输入进行适当的验证和清洁,攻击者就可能成功地执行SQL命令,这可能导致敏感信息的泄露、数据的篡改、删除或是完整的数据库控制。
跨站脚本(Cross-Site Scripting, XSS):