El proyecto de comercio electrónico de prueba de software (versión súper detallada) que se puede escribir en el currículum, ¿por qué no entrar y obtenerlo?

prefacio

Para ser honesto, en el proceso de búsqueda de proyectos, he descargado (incluso pagado por descargar) más de N proyectos y contactado con los autores de muchos proyectos, pero la mayoría de los proyectos, en mi opinión, no son adecuados para que practiques, tienen más o menos "problemas", como:

1. La mayoría de los proyectos son proyectos web y es difícil encontrar proyectos de aplicaciones, especialmente la mayoría de los proyectos con paquetes de instalación de aplicaciones.

2. El proyecto de la aplicación solo tiene un código de front-end y no un código de servicio de back-end. Solo puedes practicar como "usuario"

3. Para la mayoría de los proyectos con paquetes de instalación de aplicaciones, el autor del proyecto proporciona una aplicación de prueba, lo que dificulta garantizar la privacidad personal y la seguridad de la cuenta, etc.

4. La mayoría de los proyectos carecen de guías de implementación y parecen estar perdidos

5. Algunos proyectos involucran negocios, si no tiene la base comercial, es difícil comenzar, como pago, blockchain, moneda, etc.

6. Hay pocos proyectos unificados que puedan abarcar múltiples usos

Creo que estos problemas también se han encontrado en su proceso de aprendizaje y son difíciles de resolver.

Pero no te preocupes, ¡te tengo cubierto!

Después de examinar cientos de proyectos y construir más de diez proyectos por mí mismo, finalmente seleccioné un proyecto de prueba de software que es muy adecuado para lectores y fanáticos. Se puede decir que es muy completo.

Con él, ya no tienes que preocuparte por este tipo de reclutamiento~

 

1. Introducción del proyecto

Tecnología involucrada

Interfaz : HTML CSS JS/JQ (se pueden entender Bootstrap, node.js, angluar.js, etc.) AJAX

PHP : sesión PHP+MySQL y cookie Nosql (redis memcache mongdb), tecnología de interfaz, tecnología de almacenamiento en caché, tecnología de optimización, etc.

Lado del servidor : Linux Nginx

Entorno de desarrollo : WAMP o LAMP es más común, además de LNMP, etc.

Trate de no mencionar el número de versión en su currículum o entrevista. Si desea escribirlo, debe alinear el número de versión; de lo contrario, no escriba el número de versión.

¿Características técnicas en proyectos de comercio electrónico?

1. La tecnología se actualiza rápidamente : de acuerdo con las necesidades del mercado, se actualiza constantemente de forma iterativa;

2. La tecnología involucra una amplia gama : además de PHP, también se utilizan Python, GO y otros lenguajes, MySQL y nosql son los más utilizados en la base de datos (por supuesto, algunas empresas usan Oracle, pero PHP generalmente se basa en MySQL), el servidor usa Linux (algunas empresas usan Unix) y, a menudo, involucra seguridad del servidor, seguridad del sistema y otras tecnologías de seguridad;

3. Distribuido : en el pasado, se ejecutaba en una sola máquina, pero ahora se distribuye a diferentes máquinas y, finalmente, se recopilan los datos. El desarrollo de centralizado a distribuido está impulsado por la demanda;

4. Alta concurrencia, clúster (clúster de alta disponibilidad) y equilibrio de carga : los problemas de concurrencia son manejados por clústeres.Entre ellos, los clústeres involucran problemas de distribución y maestro-esclavo del servidor, y se utiliza el equilibrio de carga. (Peso alto y bajo) La alta disponibilidad significa que para los usuarios no se interrumpe el servicio del usuario (actualización del sistema, no se interrumpe el servicio, se actualiza parte del sistema de comercio electrónico de la empresa, etc.);

5. Datos masivos : cada año, varias actividades de los comerciantes (Doble 11, Doble 12, etc.), el volumen de pedidos, el número de vistas, el volumen de productos y los datos relacionados con eventos serán muy grandes (generalmente acompañados de una alta concurrencia);

6. Negocio complicado : El negocio del comercio electrónico no es simple: después de mostrar los productos, la compra se completa simplemente agregándolos al carrito de compras. Además, la lógica comercial de fondo es bastante complicada, como descuentos (envío gratis, descuentos completos), ventas flash, compras instantáneas, etc.;

7. Seguridad del sistema : El sistema debe ser aprobado por el departamento de seguridad del sistema cuando esté en línea, los temas de seguridad se están poniendo poco a poco sobre la mesa y muchas empresas le dan mucha importancia a esta área.

Funciones del sistema

Este sistema de centro comercial es una plataforma B2C integral, similar a Jingdong Mall y Tmall Mall

usuario

1. Los usuarios pueden registrarse como miembros del centro comercial e iniciar sesión en el centro comercial

2. Obtener los beneficios y privilegios correspondientes según el nivel de membresía

3. Los usuarios pueden buscar productos y buscar según el tipo de producto.

4. El usuario puede operar el carrito de compras (agregar, eliminar, modificar, verificar la cantidad de productos, detalles del producto, etc.)

5. Los usuarios realizan pedidos, retiran pedidos, liquidan pedidos, etc.

comerciante

1. Los comerciantes pueden instalarse en el centro comercial y abrir tiendas en el centro comercial para vender sus propios productos.

2. Los comerciantes también tienen niveles de comerciantes. Si obtienen buenas críticas en el centro comercial y el volumen de ventas de productos alcanza una cierta cantidad, pueden obtener algunos privilegios de los comerciantes.

3. Los comerciantes pueden administrar los productos de su propia tienda: ponerlos y sacarlos de los estantes, configurar el inventario, configurar el sistema de membresía de su propia tienda, etc.

Mapa mental para proyectos de comercio electrónico

 

Los anteriores son la mayoría de los módulos de uso común, si hay otros módulos, se complementarán por sí mismos. De acuerdo con la arquitectura de la imagen de arriba, la memoria inductiva se lleva a cabo capa por capa, desde el proyecto-módulo-función para familiarizarse con la memoria poco a poco y comprenderla.

Composición del equipo del proyecto

Product manager: 1 persona, determina los requerimientos y entrega el prototipo del producto.

Jefe de proyecto: 1 persona, gestión de proyectos.

Diseño de UI: 1 persona, realizando renders de prototipos de proyectos.

Equipo front-end: 1 persona, realizando páginas estáticas según prototipo entregado por el jefe de producto.

Equipo de back-end: 3 personas, realizan funciones del producto.

Operación y mantenimiento: 1 persona, responsable del sistema del proyecto de operación y mantenimiento de la empresa.

Equipo de prueba: 2 personas, probando todas las funciones. (Las pequeñas empresas no tendrán pruebas)

Lo anterior se basa en el equipo como unidad, algunas empresas cuentan con más de un equipo técnico, así como de operación y mantenimiento, UI, diseñadores de interacción, etc., dependiendo de la situación.

Proceso de desarrollo del proyecto

 

2. Preguntas frecuentes sobre entrevistas de comercio electrónico

1. Cuénteme sobre los antecedentes de su proyecto reciente y presente brevemente su proyecto. (Esta pregunta debe aclarar al menos para qué tipo de empresa o industria es este proyecto y luego presentar los módulos funcionales básicos de este proyecto). ¿Cuáles son los módulos de los que es responsable? ¿Cuáles son las funciones de los módulos de los que es responsable?

Nuestra empresa solía enfocarse principalmente en tiendas físicas, mayoristas y minoristas, y nuestro negocio era relativamente tradicional. Para adaptarse a la demanda del mercado, mejorar la competitividad de la empresa y mejorar el rendimiento comercial, por otro lado, también sienta las bases para la innovación del modelo comercial basado en Internet. Así que comencé el proyecto de construcción del centro comercial xxx, que incluye la gestión de productos, la gestión de pedidos, la gestión de categorías, la gestión de clientes, la gestión de socios, la gestión de servicio al cliente, la plataforma de compras, la gestión de contenido, etc., compartió en gran medida la presión del trabajo y puede desempeñar un papel mejor en la mejora de la eficiencia del servicio al cliente y la satisfacción del cliente. (Primero describa el proyecto en general, y luego puede elegir uno o dos módulos con los que esté más familiarizado para describir)

2. La estructura general del proyecto (en términos de marco y tecnologías específicas)

Marco: describa desde una perspectiva general, por ejemplo, este proyecto es un proyecto de comercio electrónico, que usa el marco TP y usa php+MySQL+Apache para el desarrollo. Debido a que el marco TP es de código abierto y liviano, es más conveniente y rápido de usar, y es relativamente rentable en términos de eficiencia y costo, por lo que el equipo decidió usar este marco para el desarrollo en ese momento. Luego explique algunas ventajas y características del marco, para que el entrevistador sienta que conoce muy bien la tecnología de este marco: cuando describa la tecnología, primero comience con los módulos con los que está más familiarizado (como la tecnología JS utilizada en la verificación de registro, coincidencia regular, ajax verificación sin actualización, etc.), y luego expanda lentamente a otras tecnologías.

3. ¿Cuántas personas trabajan en su proyecto? ¿Cuánto desarrollar? ¿Cuánto para probar? ¿Qué arquitectura?

Alrededor de 20, 10 para desarrollo, 3 para pruebas, 2 para pruebas de interfaz de usuario, 2 para operación y mantenimiento, 2 para arquitectura y aplicación B/S

4. ¿Desde qué puntos se debe probar el sistema de arquitectura B/S?

Función: prueba de enlace, menú de navegación, salto de página, prueba de formulario, prueba de datos, prueba de lógica empresarial

Compatibilidad: confirme los navegadores que usan con frecuencia con los clientes y realice pruebas de compatibilidad con IE, Firefox y Google

Interfaz: tamaño de color de fuente, espacio entre iconos y campos, etc.

Rendimiento: velocidad de conexión, pruebas de carga, pruebas de estrés

Seguridad: control de autoridad, encapsulación de enlaces, prueba de registro de registro, texto cifrado de inicio de sesión, reinicio de sesión después de la modificación de la contraseña, tiempo de vencimiento del inicio de sesión.

5. Arquitectura distribuida, frente a las ventajas de la arquitectura tradicional.

①El punto más obvio es que en la arquitectura tradicional, si se necesita mantener una determinada función, entonces debemos detener todo el servicio, lo que provocará pérdidas en las operaciones de la empresa. El sistema distribuido usa un servidor separado para los módulos funcionales centrales y el mantenimiento de algunos módulos no afecta otras operaciones de los usuarios.

②En términos de procesamiento masivo de datos, la arquitectura tradicional es relativamente débil; la arquitectura del sistema distribuido adopta clústeres de servidores y equilibrio de carga, ¡y el procesamiento masivo de datos es fácil!

③ En términos de rendimiento (recuperación) y mantenimiento, la arquitectura del sistema distribuido también tiene ventajas obvias.

6. Cuántos módulos se dividen en el proyecto, de qué módulos es responsable y qué tecnología de prueba utiliza para estos módulos

Responsable principal del desarrollo de funciones relacionadas en el proyecto, incluyendo principalmente:

Sistema de gestión de fondo: realiza principalmente la gestión de productos básicos, la gestión de parámetros de especificación de productos básicos, la gestión de pedidos, la gestión de miembros, etc., CMS (sistema de gestión de contenido), etc., y proporciona soporte entre dominios;

Sistema front-end: principalmente para el acceso de usuarios, usando js y ajax para la interacción de datos front-end y back-end (generalmente devolviendo datos en formato json)

Inicio de sesión de miembros: proporcione interfaces relacionadas con la información del usuario, como registro de usuario, consulta y otras interfaces (se requieren múltiples verificaciones al iniciar sesión y se presta especial atención a los aspectos de seguridad)

Función de pedidos: principalmente para proporcionar interfaces comerciales relacionadas con los pedidos.En el sistema de pedidos, se implementan una verificación de datos estricta y un alto soporte de escritura concurrente (aquí, se puede decir que se implementa por colas), y se utilizan temporizadores para controlar el tiempo de realización de pedidos, como cerrar pedidos que no se han pagado después del tiempo de espera;

Función de búsqueda: principalmente para proporcionar búsqueda de productos, puede usar la búsqueda de texto completo de Sphinx, por supuesto, hay otros métodos de búsqueda;

Sistema de membresía: principalmente para mantener la información del usuario, pedidos comprados, cupones, mensajes del sistema, cambiar contraseñas, vincular teléfonos móviles y otras funciones;

Caché: se implementa principalmente con Redis, y se crea un clúster para Redis para garantizar la alta disponibilidad de los servicios de Redis (memcached también se usa para el almacenamiento en caché además de redis)

Sistema de pago: principalmente responsable del pago de pedidos, conciliación de cuentas y otras funciones, principalmente conectado a la interfaz de Alipay;

Elija el módulo más familiar de acuerdo con la situación real del individuo y haga una narración

7. Qué tecnología de prueba se utiliza en su proyecto, el entrevistador le preguntará sobre esta tecnología

8. ¿Cuántos casos de prueba se escribieron para este proyecto, cuánto tiempo llevó ejecutarlo y cuántos errores se encontraron?

9. ¿Cuál es el error más impresionante de este proyecto y cómo solucionarlo más adelante?

10. ¿El proyecto está en línea? Si está en línea, ¿dónde puedo verlo?, si no, ¿por qué?

11. ¿Cómo se diseñan los casos de prueba para un determinado módulo del proyecto y por qué?

12. ¿Cuál es la base de datos utilizada para este proyecto y cuántas tablas se diseñaron?

13. ¿Hay iteraciones detrás de este proyecto? Si es así, cómo iterar y cómo probar después de la iteración

14. ¿Este proyecto utiliza pruebas automatizadas? En qué idioma está escrito el script de prueba automatizado y qué módulos usan pruebas automatizadas

15. Ciclo del proyecto, se le preguntará cuánto tiempo lleva trabajando en este proyecto y cuándo intervino la prueba

16. Para sitios web con mucho tráfico, ¿qué método utiliza para resolver el problema del tráfico?

17. ¿Optimización de sentencias Sql?

18. ¿Qué es la página estática?

19. ¿Cómo realizar el login seguro del usuario?

20. ¿Cuántos métodos de persistencia tiene Redis? ¿Cuáles son las desventajas de redis?

21. ¿Cómo lidiar con alta concurrencia?

Debido a limitaciones de espacio, no se puede mostrar en su totalidad. Las respuestas a las preguntas de la entrevista anteriores se pueden ver dejando un mensaje.

3. Descripción de los requisitos funcionales

¿Cómo probar la función de inicio de sesión?

1. Ingrese el nombre de usuario y la contraseña correctos, haga clic en el botón Enviar, verifique si puede iniciar sesión correctamente y si puede saltar a la página correcta 2. Ingrese el nombre de usuario incorrecto, verifique que el inicio de sesión falle y aparezca el mensaje de error correspondiente  

3. Si ingresa una contraseña incorrecta, el inicio de sesión de verificación falla y aparece el mensaje de error correspondiente  

4. Si el nombre de usuario está vacío, el inicio de sesión de verificación falla y aparece el mensaje de error correspondiente  

5. Si la contraseña está vacía, el inicio de sesión de verificación falla y aparece el mensaje de error correspondiente  

6. El nombre de usuario y la contraseña están vacíos, haga clic en iniciar sesión  

7. Tratamiento de espacios antes y después del nombre de usuario y contraseña

pruebas de rendimiento

1. ¿Cuánto tiempo lleva abrir la página de inicio de sesión?

2. Después de ingresar el nombre de usuario y la contraseña correctos, ¿cuánto tiempo lleva iniciar sesión correctamente y pasar a una nueva página?

pruebas de seguridad

1. Si la contraseña está encriptada en la interfaz y si está encriptada durante la transmisión de la red 

2. Si el cuadro de entrada de nombre de usuario y contraseña puede prevenir un ataque de inyección SQL  

3. Si el cuadro de entrada de nombre de usuario y contraseña puede prevenir el ataque XSS  

4. Limite la cantidad de inicios de sesión incorrectos (para evitar el descifrado por fuerza bruta)  

5. Si admitir que múltiples usuarios inicien sesión en la misma máquina  

6. Un usuario inicia sesión en diferentes terminales  

7. Inicio de sesión remoto del usuario

Pruebas de experiencia del usuario

1. Si el diseño de la página es razonable, si el cuadro de entrada y el botón están alineados  

2. Si el tamaño del cuadro de entrada y la longitud y altura del botón son razonables  

3. ¿Es posible usar el teclado para todas las operaciones y si hay teclas de acceso directo?  

4. Ingrese el nombre de usuario y la contraseña y presione Entrar para verificar si puede iniciar sesión  

5. Si el código de verificación está involucrado, también es necesario considerar si el texto está demasiado distorsionado, lo que dificulta su reconocimiento, considere el color (para usuarios daltónicos), si es fácil usar el botón actualizar o cambiar

prueba de compatibilidad

Arquitectura BS: diferentes pruebas de navegador, tales como: IE, Firefox, Google, 360, etc.

APLICACIÓN: Probado en teléfonos móviles convencionales de diferentes tipos, diferentes resoluciones y diferentes sistemas operativos, como Huawei, vivo, oppo, etc.

Cómo probar la función de pago (especialmente importante)

1. Considerando la función

1) Los escenarios de uso del usuario: incluido el proceso de completar el pago normalmente, el proceso de continuar pagando después de que se interrumpa el pago, el proceso de finalizar el pago después de que se interrumpa el pago, el proceso de pago de un solo pedido;

2) Pago en diferentes terminales: incluyendo pago de PC, pago de computadora portátil, pago de tableta, pago de teléfono móvil, etc.;

3) Diferentes métodos de pago: pago de banca en línea con tarjeta bancaria, pago de Alipay, pago de WeChat, etc.;

4) Desde la perspectiva de la tolerancia a fallas del producto: incluso si el pago se puede realizar nuevamente y reembolsar después de la falla del pago;

2. En términos de rendimiento

¿Pueden varios usuarios pagar al mismo tiempo?

tiempo de respuesta de pago;

3. Desde la perspectiva de la seguridad

Use Fiddler para interceptar la información del pedido y modificar el monto del pedido o modificar el número del pedido (coloque dos pedidos A, B, intercepte el pedido B al pagar y cambie el número del pedido B al número del pedido A) el pago no se puede completar;

4. Considere la experiencia del usuario

Ya sea para admitir la función de tecla de acceso directo;

Haga clic en el botón de pago, si hay un aviso;

Cancelación de pago, si hay un recordatorio;

Si la interfaz de la interfaz de usuario está limpia;

Si el cuadro de entrada está alineado, si el tamaño es moderado, etc.

5. Compatibilidad

Arquitectura BS: diferentes pruebas de navegador.

APP: Probado en teléfonos móviles de diferentes tipos, diferentes resoluciones y diferentes sistemas operativos

¿Cómo probar el carrito de compras? (muy importante)

1. Prueba funcional

a) Cuando no haya iniciado sesión:

Agregue elementos al carrito de compras y la página saltará a la página de inicio de sesión. Después de iniciar sesión correctamente, la cantidad de carritos de compras aumentará.

b) Después de iniciar sesión:

  • ¿Están todos los enlaces redirigidos correctamente?
  • Si el producto se puede agregar con éxito al carrito de compras;
  • ¿Existe un límite para el número total de artículos en el carrito de compras?
  • Si las estadísticas del número total de productos son correctas;
  • Si la función seleccionar todo está disponible;
  • Si la función de eliminación está disponible;
  • ¿Es correcto el precio total?
  • Si el texto del producto se muestra completo cuando el texto del producto es demasiado largo;
  • Si los productos eliminados del carrito de compras están marcados y todavía se pueden pagar;
  • Clasificación de productos recién agregados al carrito de compras (agregar productos de tiendas que existen en el carrito de compras y productos de tiendas que no existen en el carrito de compras); - si admite teclas de acceso directo como TAB y ENTER;
  • Si el número total de productos disminuye después de eliminar el producto;
  • Si la función favorita está disponible;
  • Si la función de pago del carrito de compras está disponible.

2. Prueba de compatibilidad

Arquitectura BS: diferentes pruebas de navegador, tales como: IE, Firefox, Google, 360, etc.

APLICACIÓN: Probado en teléfonos móviles convencionales de diferentes tipos, diferentes resoluciones y diferentes sistemas operativos, como Huawei, vivo, oppo, etc.

3. Pruebas de experiencia del usuario

  • Si hay un aviso para eliminar el producto;
  • Ya sea para admitir la función de tecla de acceso directo;
  • ¿Hay una función para volver a la parte superior;
  • Si el botón de pago se puede mostrar de forma flotante cuando hay demasiados artículos;
  • Cuando hay varios artículos en el carrito de compras, ¿solo se puede liquidar por un solo artículo?
  • Si el diseño de la interfaz y la composición tipográfica son razonables;
  • Si el texto se muestra claramente;
  • Si los productos de diferentes vendedores se distinguen claramente.

4. Pruebas de rendimiento

¿Cuánto tiempo lleva abrir la página del carrito de compras?

[Combate real del proyecto de comercio electrónico] Documentos relacionados correspondientes, tutoriales y adquisición de mensajes de código fuente

Poderoso fanático de las mascotas, por favor dame muchos elogios ~

Supongo que te gusta

Origin blog.csdn.net/a448335587/article/details/131743562
Recomendado
Clasificación