可以写进简历的软件测试电商项目,不进来get一下?

news2024/11/28 6:38:45

前言

说实话,在找项目的过程中,我下载过(甚至付费下载过)N多个项目、联系过很多项目的作者,但是绝大部分项目,在我看来,并不适合你拿来练习,它们或多或少都存在着“问题”,比如:

1.大部分项目是web项目,很难找到app项目,特别是有app安装包的项目大部分
2.app项目只有前端代码,没有后端服务代码,你只能以“使用者”的角色练习
3.大部分有app安装包的项目,项目作者提供的是试用app,很难保障个人隐私、账号安全等
4.大部分项目缺少部署指南,看起来一头雾水
5.有的项目涉及的业务,如果你缺少业务基础,很难上手,如支付、区块链、货币等
6.很少有统一的、能涵盖多端使用的项目

这些问题,我相信在你的学习过程中,也遇到过,并且很难解决。

但请放心,我都帮你解决好了!

在我浏览了上百个项目,亲手搭建了十多个项目之后,终于为读者粉丝们挑选出非常适合练手的一个软件测试项目,可以说非常之全面。

有了它,你就再也不用担心这类招聘了~
 

一、项目介绍
涉及技术
前端: HTML CSS JS/JQ(Bootstrap、node.js、angluar.js 等可以了解下) AJAX
PHP: PHP+MySQL session 和 cookie Nosql(redis memcache mongdb) 接口技术 缓存技术 优化技术等等
服务器方面: Linux Nginx
开发环境: WAMP 或者是 LAMP 比较常见,除此以外还有 LNMP 等

简历中或者是面试中尽量不要提及版本号,如果要写则需要把版本号对齐,否则不要写版本号

电商项目里的技术特点?
1.技术更新较快:根据市场的需求,不断迭代更新;
2.技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言;数据库中 MySQL,nosql 是最频繁使用的(当然也有的公司会用 oracle,但是 PHP 一般都是以 MySQL 为主),服务器端使用 Linux(少部分公司会用到 Unix),还经常涉及到服务器安全、系统安全等安全方面的技术;
3.分布式:从前的单一的机器上运行,现在是分散到不同机器上,最后将数据集中汇总。集中式向分布式进行发展是由需求来推动;
4.高并发、集群(高可用集群)、负载均衡:由并发问题采用集群进行处理,其中,集群会涉及服务器的主从以及分布问题,使用负载均衡。(权重高低)高可用是对用户而言,用户的服务不中断(系统升级,服务不中断,公司电商系统的部分更新等);
5.海量数据:每年商家的各类活动(双 11,双 12 等等)订单量、浏览数、商品量、活动相关数据都将会超级大超级多(一般随同高并发出现);
6.业务复杂:电商业务并不简单:并不是商品展示出来后,简单的加入购物车后购买就完成了。除此以外后台业务逻辑是相当复杂,比如优惠(包邮、满减),秒杀,抢购等;
7.系统安全:系统上线必须通过系统安全部门审核通过,安全性问题正逐步的被放到台面上,而且很多企业对这块相当重视。

系统功能
本商城系统是一个综合性的 B2C 平台,类似京东商城、天猫商城

用户
1.用户可以通过注册成为商城的会员,登录商城
2.根据会员等级获得相应的优惠和特权
3.用户可以浏览商品,可以根据商品类型进行搜索
4.用户可以对购物车进行操作(增删改查商品的数量、商品详情等)
5.用户下订单、退订单,对订单的结算等

商家
1.商家可以入驻商城,在商城里开店售卖自己的商品
2.商家也有商家等级,如果在商城好评和商品销售量到达一定数量,可获得商家的一些特权
3.商家可以管理自己店铺的商品:上架下架商品;设定库存量;设定自己店铺的会员制度等

电商项目的思维导图
å¨è¿éæå¥å¾çæè¿°

以上是大部分常用模块,如有其它模块自行补充。根据上图的体系架构,一层层的进行归纳记忆,从项目——模块——功能一点点的往深入熟悉记忆,并且加以理解。

项目团队构成
产品经理:1 人,确定需求以及给出产品原型图。
项目经理:1 人,项目管理。
UI 设计 :1 人, 制作项目原型效果图。
前端团队:1 人,根据产品经理给出的原型制作静态页面。
后端团队:3 人,实现产品功能。
运维 :1 人 ,负责公司运维项目的系统。
测试团队:2 人,测试所有的功能。(小公司不会有测试)

上述是以团队为单位,有的公司技术部不止一个团队,还有运维、UI、交互设计师等等,视情况而定

项目开发流程

 

 

二、电商面试常见问题
1.说说你最近做的这个项目的背景,简单的介绍一下你这个项目?(这个题至少要说清这个项目给什么类型公司或者什么行业做的,然后再来介绍这个项目的基本功能模块就可以.)你负责的模块是什么? 你负责的模块都有什么功能?

我们公司之前主要以实体店为主,进行批发与零售,业务也相对比较传统。为了适应市场需求,增强公司竞争力,提升业务绩效,另一方面,也为基于互联网的商务模式创新奠定基础。所以开始 xxx 商城建设项目,其中包含商品管理、订单管理、类目管理、客户管理、合作商管理、客服管理、购物平台、内容管理等,很大程度上分担了人工的压力,对提高客户服务效率和客户满意度能够起到较好的作用。(先大体的描述下项目,然后能够挑一两个自己最为熟悉的模块进行叙述)

2.项目的整体结构(从框架和具体技术来说)

框架方面:从大处进行描述,比如本项目是属于电商项目,采用的是 TP 框架,运用php+MySQL+Apache 进行开发。因为 TP 框架是开源的、轻量级的,所以用起来更加方便快捷,从效率和成本方面来讲都是性价比比较高的,所以那时候团队决定用这个框架进行开发。然后再从框架的一些优点特性进行说明下,让面试官觉得你对这个框架很了解技术:描述技术时首先用从自己比较熟悉的模块入手(比如说注册验证时会用到的 JS 技术、正则匹配、ajax 无刷新验证等等),然后由此慢慢的向其他方面的技术进行拓展,在说具体技术的时候如果能说到目前比较新或者是比较有难度的技术,能够让面 试官眼前一亮,这样能为自己的面试增加不少分。

3.你这个项目有多少人做? 开发多少?测试多少? 什么架构?

20个左右,开发10个,测试3个,ui测试2个 运维2个 B/S架构和app

4.B/S架构的系统从哪些点去测?

功能:链接测试、导航菜单、页面的跳转、表单测试、数据测试、业务逻辑测试
兼容性:跟客户确认其常会用的浏览器,再加上IE、火狐和谷歌等进行兼容性的测试
界面:字体颜色大小、图标和字段间距等
性能:连接速度、负载测试、压力测试
安全性:权限控制、链接封装、日志记录的测试、登陆密文、修改密码后重新登陆、登陆失效时间。

5.分布式架构,对比传统架构的优势。

①最为明显的一点,在传统的架构中,如果某个功能需要进行维护,那么我们必须停掉整个服务,这对于公司的运营会造成损失。分布式系统在核心功能模块使用单独服务器,维护部分模块不影响用户的其他操作。
②在海量数据处理方面,传统架构显得比较乏力;分布式系统架构采用服务器集群,使用负载均衡,海量数据处理游刃有余!
③在性能(检索)以及维护方面,分布式系统架构也有较为明显的优势。

6.项目分了多少模块,你负责的是哪些模块,这些模块你用了什么测试技术

在项目中主要负责相关功能的开发,主要有:

后台管理系统:主要实现商品管理、商品规格参数管理、订单管理、会员管理等、CMS(内容管理系统)等,并且提供了跨域支持;
前台系统:主要是面向用户访问,使用 js、ajax 进行前后台数据交互(一般是用 json 格式数据返回)
会员登录:提供和用户信息相关的接口,比如说用户注册、查询等接口(登录时需要进行多重验证,特别注意安全方面)
订单功能:主要是提供和订单相关的业务接口,在订单系统了做了严格的数据校验以及高并发写的支持(这里可以说使用队列实现),并且使用了定时器实现对下单的时间控制,比如说关闭超时未付款的订单;
搜索功能:主要是提供商品的搜索,可以采用 Sphinx 全文搜索,当然也有其他的搜索方式;
会员系统:主要是维护用户的信息,已购买订单、优惠券、系统消息、修改密码、绑定手机等功能;
缓存:主要是用 Redis 实现,并且对 Redis 做了集群来保证 Redis 服务的高可用(缓存方面除了 redis 外还有 memcached)
支付系统:主要是负责订单的支付、对账等功能,主要是对接了支付宝的接口;
根据个人的实际情况选择最为熟悉的模块,进行叙述

7.你的项目上写了用了什么测试技术,面试官会展开的问你这个技术

8.这个项目一共写了多少测试用例,执行了多少时间,发现了多少个bug

9. 这个项目你印象最深的bug是什么,后面怎么解决的

10.项目上线了吗?如果上线了在哪里可以看到,如果没有上线,为什么

11.你对项目的某某模块是怎么设计测试用例的,为什么这么设计

12.这个项目的数据库用的是什么,设计的表有多少张

13.这个项目后面有迭代吗?如果有是怎么迭代的,迭代后又是怎么进行测试的

14.这个项目有用到自动化测试吗?自动化测试脚本用什么语言写的,哪些模块用了自动化测试

15.项目周期,会问你这个项目做了多久,测试是什么时候介入的

16.对于大流量的网站,您采用什么样的方法来解决访问量问题?

17.Sql 语句的优化?

18.什么是页面静态化?

19.如何实现用户的安全登录?

20.Redis 有几种持久化的方式?redis 缺点是什么?

21.高并发如何处理?

三、功能需求描述
登陆功能怎么测试?
1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录,能否能跳转到正确的页面  2.输入错误的用户名, 验证登录失败,并且提示相应的错误信息  
3.输入错误的密码, 验证登录失败,并且提示相应的错误信息  
4.用户名为空, 验证登录失败,并且提示相应的错误信息  
5.密码为空, 验证登录失败,并且提示相应的错误信息  
6.用户名和密码都为空,点击登陆  
7.用户名和密码前后有空格的处理

性能方面的测试

1.打开登录页面,需要多长时间
2.输入正确的用户名和密码后,登录成功跳转到新页面,需要多长时间

安全性方面的测试

1.密码是否在前端加密,在网络传输的过程中是否加密 
2.用户名和密码的输入框,能否防止SQL注入攻击  
3.用户名和密码的输入框,能否防止XSS攻击  
4.错误登陆的次数限制(防止暴力破解)  
5.是否支持多用户在同一机器上登录  
6.一个用户在不同终端上登陆  
7.用户异地登陆

用户体验测试

1.页面布局是否合理,输入框和按钮是否对齐  
2.输入框的大小和按钮的长度,高度是否合理  
3.是否可以全用键盘操作,是否有快捷键  
4.输入用户名,密码后按回车,是否可以登陆  
5. 牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用

兼容性测试

BS架构:不同浏览器测试,比如:IE,火狐,谷歌,360这些。
APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,华为,vivo,oppo等

支付功能怎么测试(特别重要)
1、从功能方面考虑

1)用户的使用场景:包括正常完成支付的流程;支付中断后继续支付的流程;支付中断后结束支付的流程;单订单支付的流程;多订单合并支付的流程;余额不足;未绑定银行卡;密码错误;密码错误次数过多;找人代付;弱网状态下,连续点击支付功能功能,会不会支付多次;分期付款等;
2)不同终端上支付:包括PC端的支付、笔记本电脑的支付、平板电脑的支付、手机端的支付等;
3)不同的支付方式:银行卡网银支付、支付宝支付、微信支付等;
4)从产品容错性上:包括支付失败后,能否再次支付、能否退款;

2、从性能方面考虑

多个用户并发支付能否成功;
支付的响应时间;

3、从安全性方面考虑

使用Fiddler拦截订单信息,并修改订单金额,或者修改订单号,(下两个订单A,B,付款时拦截订单B,并把订单B的订单号改为A订单的订单号)无法完成支付;
 

4、从用户体验方面考虑

  • 是否支持快捷键功能;
  • 点击付款按钮,是否有提示;
  • 取消付款,是否有提示;
  • UI界面是否整洁;
  • 输入框是否对齐,大小是否适中等。

5、兼容性

BS架构:不同浏览器测试。
APP:不同类型,不同分辨率,不同操作系统的手机上测试

购物车怎么测试?(特别重要)
1.功能测试

a)未登录时:

将商品加入购物车,页面跳转到登录页面,登录成功后购物车数量增加。

b)登录后:

  • 所有链接是否跳转正确;
  • 商品是否可以成功加入购物车;
  • 购物车商品总数是否有限制;
  • 商品总数统计是否正确;
  • 全选功能是否可用;
  • 删除功能是否可用;
  • 价格总计是否正确;
  • 商品文字太长时是否显示完整;
  • 购物车中下架的商品是否有标识,是否还能支付;
  • 新加入购物车商品排序(添加购物车中存在的店铺的商品和购物车中不存在的店铺的商品);    - 是否支持快TAB、ENTER等快捷键;
  • 商品删除后商品总数是否减少;
  • 收藏功能是否可用;
  • 购物车结算功能是否可用。

2.兼容性测试

BS架构:不同浏览器测试,比如:IE,火狐,谷歌,360这些。
APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,华为,vivo,oppo等

3.用户体验测试

  • 删除商品是否有提示;
  • 是否支持快捷键功能;
  • 是否有回到顶部的功能;
  • 商品过多时结算按钮是否可以浮动显示;
  • 购物车有多个商品时,能不能只对单个商品结算;
  • 界面布局、排版是否合理;
  • 文字是否显示清晰;
  • 不同卖家的商品是否区分明显。

4.性能测试

打开购物车页面要多长时间
 

 文章篇幅受限,更多面试题整理,可以点击下方小卡片进群免费领取!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux C中对json格式数组数据的生成与解析

在网络通信中,数据经常被做成json格式的来进行传输。那么我们怎么在linux系统中去做json格式的数据呢?怎么将接收到的json格式的数据解析出来呢? 1、linux json库的安装 (1)下载json-c源码包 (2&#xff09…

Redis 内存淘汰和过期删除策略

提起使用Redis的优点,大家可以列举出许多,比如:数据存储在内存,读写速度快,性能优异。比如数据持久化,便于数据备份及恢复等等。 分布式服务系统平台发展至今,Redis活跃在平台的各个领域&#…

如何写单元测试

单元测试理论知识 什么是单元测试? 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。通常而言,一个单元可能是单个程序、类、对象、方法等。 为什么需要单元测试 为什么要做单元测试&#xf…

Linux学习-63-源码包服务管理方法

14.5 源码包服务管理(启动与自启动) 14.5.1 源码包服务的启动管理 源码包服务中所有的文件都会安装到指定目录当中,并且没有任何垃圾文件产生(Linux 的特性),所以服务的管理脚本程序也会安装到指定目录中…

[东华杯2021] ezgadget

复现环境配置: 链接:https://pan.baidu.com/s/1t5-fV7SUETDEI5-qbZZQrw 提取码:8do5运行 java -jar ezgadget.jar访问127.0.0.1:8888就可以了 分析: ToStringBean.java package com.ezgame.ctf.tools;import java.io.Seriali…

Nevrona Rave Reports基于报表库

Nevrona Rave Reports基于报表库 Rave Reports被描述为一套复杂的Delphi和CBuilder组件,它能够实现强大的进化过程,并为用户和开发人员提供灵活的数据库覆盖。Rave可视报表设计器基本上是一个基于组件的系统,它是专门为覆盖范围而编写的。与传…

Discourse 为什不建议使用 Gmail 的 SMTP

最开始我们也用了 Gmail 的 SMTP 服务。 这里有个问题是 Gmail 的日发送邮件限制,很多人可能认为 Gmail 是没有日常发送邮件限制的,通常不是这样的,因为如果你是手工回复和发送邮件的话,这个限制还是很难达到的。 如果是计算机或…

docker镜像如何下载到本地

Docker save 命令 | 菜鸟教程 查看镜像 docker images 保存到本地 docker save 999c20aee5da > /home/artipub.tar 999c20aee5da为镜像ID docker save : 将指定镜像保存成 tar 归档文件。 语法 docker save [OPTIONS] IMAGE [IMAGE...] OPTIONS 说明: -o :…

Xlua在unity中使用luaide打断点

本功能可以让你使用同一个编辑器实现对c#和lua打断点 编辑器:vscode 注:这是luaide的付费版才能使用断点的功能,请尊重原作者的辛苦付出! 如有需要请访问官方进行操作,官方链接如下: ShowDoc一个非常适合IT团队的在…

UDS知识整理(六):通讯控制——0x28服务

目录 一、0x28服务(通讯控制)简介 二、0x28服务信息格式 (1)请求格式 (2)正响应格式 (3)负响应格式 三、0x28服务举例 (1)打开接收与发送通讯功能 一、…

如何设计分布式系统-分布式事务-TCC?

如何设计分布式系统-分布式事务-2PC、3PC?_技术分子的博客-CSDN博客 TCC 事务模型的思想类似 2PC 提交,下面对比 TCC 和基于 2PC 事务 XA 规范对比。 第一阶段 TCC 中锁定资源。 第二阶段 TCC根据锁定资源情况进行确认和取消操作。 区别 2PC/XA 是数…

【STL常用容器】:string 容器

文章目录前言一、string容器的基本概念二、字符串的创建构造三、string 赋值操作四、string 字符串拼接五、string 查找和替换六、string字符串比较七、string 字符的存取八、string的插入和删除九、string 子串例:取出邮箱中的用户名前言 时不可以苟遇,…

【JavaScript闭包】JavaScript何为闭包,浅谈闭包的形成和意义

谈到js,必然逃不了闭包。 闭包到底是啥呢?我查了不少资料,解释真的是各种各样,千奇百怪,令人困惑。 我们先来看看一下各种解释 红宝石书:闭包指的是那些引用了另一个函数作用域中变量的函数。mdn : 闭包&a…

英语不好,能不能学会编程?

编程的人都会问: 我英文差能学会编程吗?? 学会编程不须要多浅近的英语水平,想要学会编程,简略的英语水平足够了。当初的程序开发环境又很敌对,基本上关上之后不须要怎么配置,间接写代码就行&a…

Assignment写作摘要方面包含哪些内容?

英文Assignment摘要需要包含问题陈述、动机、方法、结果和结论五个要素。本文小编针对每个要素给出一些常用的句型,以供大家参考使用。 Assignment英文摘要五要素常用句型整理 1、问题陈述(problem statement)常用句型 陈述要解决的问题详解,这个问题又哪…

【JSP】EL表达式

EL表达式EL表达式干什么用的?EL表达式的使用面试题如何输出对象属性值?域中取数据注意事项EL表达式的空处理如何从Map集合中取数据如何从数组或者List集合中获取数据局部忽略EL表达式EL表达式的内置对象EL表达式的运算符EL表达式干什么用的? …

手把手教你写一个图片预览组件

一、前言 本篇主要介绍,vue项目手写一个图片预览组件,组件主要包括图片方法、图片缩小、显示原图、下载、复制等功能。 二、实现方式 首先我们需要做一个图片预览组件都有的功能表头,如下图 主要功能包括,放大、缩放比例显示、…

设计模式:02观察者模式--labview实现

引言 在观察者模式中,一种叫做被观察者的对象维护了观察者对象的集合,当被观察者对象发生改变时候,它会通知观察者。 在被观察者对象所维护的观察者集合中,能够添加或者删除观察者。被观察者状态变化能够传递给观察者。这样观察者…

路西德Lucid EDI项目测试流程

Lucid Motors路西德汽车拥有电动汽车制造、储能技术和代工生产等业务,目前已成功研制出其第一辆汽车Lucid Air,并开始对外销售。随着企业的不断发展,对自动化的要求也越来越高,作为制造型企业,Lucid早已实现机械自动化…

多个JDK版本可以吗:JDK17、JDK19、JDK1.8轻松切换(无坑版)小白也可以看懂

多个版本JDK切换 多个JDK:JDK17、JDK19、JDK1.8轻松切换(无坑版)小白也可以看懂 提示:看了网上很多教程,5w观看、32w观看、几千观看的,多多少少带点坑,这里我就把踩过的坑都给抹了 文章目录多个…