The software testing e-commerce project (super detailed version) that can be written into the resume, why not come in and get it?

foreword

To be honest, in the process of looking for projects, I have downloaded (even paid to download) more than N projects and contacted the authors of many projects, but most of the projects, in my opinion, are not suitable for you to practice. They have more or less "problems", such as:

1. Most of the projects are web projects, and it is difficult to find app projects, especially most projects with app installation packages

2. The app project only has front-end code and no back-end service code. You can only practice as a "user"

3. For most projects with app installation packages, the project author provides a trial app, which makes it difficult to guarantee personal privacy and account security, etc.

4. Most projects lack deployment guides and seem to be at a loss

5. Some projects involve business, if you lack the business foundation, it is difficult to get started, such as payment, blockchain, currency, etc.

6. There are few unified projects that can cover multiple uses

I believe that these problems have also been encountered in your learning process, and they are difficult to solve.

But don't worry, I've got you covered!

After I browsed hundreds of projects and built more than ten projects by myself, I finally selected a software testing project that is very suitable for readers and fans. It can be said to be very comprehensive.

With it, you don't have to worry about this kind of recruitment anymore~

 

1. Project introduction

Technology involved

Front-end : HTML CSS JS/JQ (Bootstrap, node.js, angluar.js, etc. can be understood) AJAX

PHP : PHP+MySQL session and cookie Nosql (redis memcache mongdb) interface technology caching technology optimization technology, etc.

Server side : Linux Nginx

Development environment : WAMP or LAMP is more common, in addition to LNMP, etc.

Try not to mention the version number in your resume or interview. If you want to write it, you need to align the version number, otherwise don’t write the version number

Technical features in e-commerce projects?

1. The technology is updated quickly : according to the needs of the market, it is constantly iteratively updated;

2. The technology involves a wide range : in addition to PHP, Python, GO and other languages ​​are also used; MySQL and nosql are the most frequently used in the database (of course, some companies use oracle, but PHP is generally based on MySQL), the server uses Linux (a few companies use Unix), and often involves server security, system security and other security technologies;

3. Distributed : In the past, it was run on a single machine, but now it is distributed to different machines, and finally the data is gathered together. The development from centralized to distributed is driven by demand;

4. High concurrency, cluster (high availability cluster), and load balancing : Concurrency issues are handled by clusters. Among them, clusters involve server master-slave and distribution issues, and load balancing is used. (High and low weight) High availability means that for users, the user's service is not interrupted (system upgrade, service is not interrupted, part of the company's e-commerce system is updated, etc.);

5. Massive data : Every year, various activities of merchants (Double 11, Double 12, etc.) order volume, number of views, product volume, and event-related data will be super large (usually accompanied by high concurrency);

6. Complicated business : The e-commerce business is not simple: after the products are displayed, the purchase is completed by simply adding them to the shopping cart. In addition, the background business logic is quite complicated, such as discounts (free shipping, full discounts), flash sales, snap-ups, etc.;

7. System security : The system must be approved by the system security department when it goes online. Security issues are gradually being put on the table, and many companies attach great importance to this area.

System functions

This mall system is a comprehensive B2C platform, similar to Jingdong Mall and Tmall Mall

user

1. Users can register as a member of the mall and log in to the mall

2. Obtain corresponding benefits and privileges according to the membership level

3. Users can browse products and search according to product type

4. The user can operate the shopping cart (add, delete, modify, check the number of products, product details, etc.)

5. Users place orders, withdraw orders, settle orders, etc.

merchant

1. Merchants can settle in the mall and open stores in the mall to sell their own products

2. Merchants also have merchant levels. If they get good reviews in the mall and the sales volume of products reaches a certain amount, they can get some privileges of the merchants

3. Merchants can manage their own store's products: put on and off shelves; set inventory; set their own store's membership system, etc.

Mind map for e-commerce projects

 

The above are most of the commonly used modules, if there are other modules, they will be supplemented by themselves. According to the architecture in the above picture, inductive memory is carried out layer by layer, from the project-module-function to get familiar with the memory little by little, and understand it.

Project team composition

Product manager: 1 person, determine the requirements and give the product prototype.

Project manager: 1 person, project management.

UI design: 1 person, making project prototype renderings.

Front-end team: 1 person, making static pages according to the prototype given by the product manager.

Back-end team: 3 people, realize product functions.

Operation and maintenance: 1 person, responsible for the system of the company's operation and maintenance project.

Testing team: 2 people, testing all functions. (Small companies will not have tests)

The above is based on the team as a unit. Some companies have more than one technical team, as well as operation and maintenance, UI, interaction designers, etc., depending on the situation

Project development process

 

2. Frequently asked questions about e-commerce interviews

1. Tell me about the background of your recent project, and briefly introduce your project? (This question should at least clarify what type of company or industry this project is for, and then introduce the basic functional modules of this project.) What are the modules you are responsible for? What are the functions of the modules you are responsible for?

Our company used to mainly focus on physical stores, wholesale and retail, and our business was relatively traditional. In order to adapt to market demand, enhance the company's competitiveness and improve business performance, on the other hand, it also lays the foundation for Internet-based business model innovation. So I started the xxx mall construction project, which includes commodity management, order management, category management, customer management, partner management, customer service management, shopping platform, content management, etc., to a large extent shared the pressure of labor, and can play a better role in improving customer service efficiency and customer satisfaction. (First describe the project in general, and then you can choose one or two modules you are most familiar with to describe)

2. The overall structure of the project (in terms of framework and specific technologies)

Framework: Describe from a general perspective, for example, this project is an e-commerce project, using the TP framework, and using php+MySQL+Apache for development. Because the TP framework is open source and lightweight, it is more convenient and quick to use, and it is relatively cost-effective in terms of efficiency and cost, so the team decided to use this framework for development at that time. Then explain some advantages and characteristics of the framework, so that the interviewer feels that you know the technology of this framework very well: when describing the technology, first start with the modules you are more familiar with (such as the JS technology used in registration verification, regular matching, ajax no refresh verification, etc.), and then slowly expand to other technologies.

3. How many people work on your project? How much to develop? How much to test? What architecture?

About 20, 10 for development, 3 for testing, 2 for ui testing, 2 for operation and maintenance, 2 for B/S architecture and app

4. From what points should the system of B/S architecture be tested?

Function: link test, navigation menu, page jump, form test, data test, business logic test

Compatibility: Confirm the browsers they often use with customers, and conduct compatibility tests with IE, Firefox and Google

Interface: font color size, icon and field spacing, etc.

Performance: connection speed, load testing, stress testing

Security: authority control, link encapsulation, log record test, login ciphertext, re-login after password modification, login expiration time.

5. Distributed architecture, compared with the advantages of traditional architecture.

①The most obvious point is that in the traditional architecture, if a certain function needs to be maintained, then we must stop the entire service, which will cause losses to the company's operations. The distributed system uses a separate server for the core functional modules, and maintaining some modules does not affect other operations of users.

②In terms of massive data processing, the traditional architecture is relatively weak; the distributed system architecture adopts server clusters and load balancing, and massive data processing is easy!

③ In terms of performance (retrieval) and maintenance, the distributed system architecture also has obvious advantages.

6. How many modules are divided into the project, which modules are you responsible for, and what testing technology do you use for these modules

Mainly responsible for the development of related functions in the project, mainly including:

Background management system: mainly realizes commodity management, commodity specification parameter management, order management, member management, etc., CMS (content management system), etc., and provides cross-domain support;

Front-end system: mainly for user access, using js and ajax for front-end and back-end data interaction (generally returning data in json format)

Member login: Provide interfaces related to user information, such as user registration, query and other interfaces (multiple verifications are required when logging in, and special attention is paid to security aspects)

Order function: mainly to provide business interfaces related to orders. In the order system, strict data verification and high concurrent writing support are implemented (here, it can be said to be implemented by queues), and timers are used to control the time of placing orders, such as closing orders that have not been paid after timeout;

Search function: mainly to provide product search, you can use Sphinx full-text search, of course, there are other search methods;

Membership system: mainly to maintain user information, purchased orders, coupons, system messages, change passwords, bind mobile phones and other functions;

Cache: It is mainly implemented with Redis, and a cluster is made for Redis to ensure the high availability of Redis services (memcached is also used for caching besides redis)

Payment system: mainly responsible for order payment, account reconciliation and other functions, mainly connected to the interface of Alipay;

Choose the most familiar module according to the actual situation of the individual, and make a narrative

7. What testing technology is used in your project, the interviewer will ask you about this technology

8. How many test cases were written for this project, how long did it take to execute, and how many bugs were found

9. What is the most impressive bug in this project, and how to solve it later?

10. Is the project online? If it is online, where can I see it? If not, why?

11. How do you design test cases for a certain module of the project, and why?

12. What is the database used for this project, and how many tables are designed?

13. Are there iterations behind this project? If so, how to iterate, and how to test after iteration

14. Does this project use automated testing? What language is the automated test script written in, and which modules use automated testing

15. Project cycle, you will be asked how long you have been working on this project and when did the test intervene

16. For websites with large traffic, what method do you use to solve the traffic problem?

17. Sql statement optimization?

18. What is page static?

19. How to realize the safe login of the user?

20. How many persistence methods does Redis have? What are the disadvantages of redis?

21. How to deal with high concurrency?

Due to space limitations, it cannot be fully displayed. The answers to the above interview questions can be viewed by leaving a message

3. Description of functional requirements

How to test the login function?

1. Enter the correct user name and password, click the submit button, verify whether you can log in correctly, and whether you can jump to the correct page 2. Enter the wrong user name, verify that the login fails, and prompt the corresponding error message  

3. If you enter a wrong password, the verification login fails, and a corresponding error message is prompted  

4. If the user name is empty, the verification login fails, and a corresponding error message is prompted  

5. If the password is empty, the verification login fails, and a corresponding error message is prompted  

6. Username and password are empty, click login  

7. Processing of spaces before and after the username and password

performance testing

1. How long does it take to open the login page

2. After entering the correct user name and password, how long does it take to log in successfully and jump to a new page?

security testing

1. Whether the password is encrypted at the front end and whether it is encrypted during network transmission 

2. Whether the input box of user name and password can prevent SQL injection attack  

3. Whether the input box of user name and password can prevent XSS attack  

4. Limit the number of wrong logins (to prevent brute force cracking)  

5. Whether to support multiple users to log in on the same machine  

6. A user logs in on different terminals  

7. User remote login

User Experience Testing

1. Whether the page layout is reasonable, whether the input box and the button are aligned  

2. Whether the size of the input box and the length and height of the button are reasonable  

3. Is it possible to use the keyboard for all operations, and whether there are shortcut keys  

4. Enter the user name and password and press Enter to check whether you can log in  

5. If the verification code is involved, it is also necessary to consider whether the text is too distorted, which makes it difficult to recognize, consider the color (for color blind users), whether it is easy to use the refresh or change button

compatibility test

BS architecture: different browser tests, such as: IE, Firefox, Google, 360 and so on.

APP: Tested on mainstream mobile phones of different types, different resolutions, and different operating systems, such as Huawei, vivo, oppo, etc.

How to test the payment function (especially important)

1. Considering the function

1) The user's usage scenarios: including the process of completing the payment normally; the process of continuing to pay after the payment is interrupted; the process of ending the payment after the payment is interrupted; the process of single order payment;

2) Payment on different terminals: including PC payment, laptop payment, tablet payment, mobile phone payment, etc.;

3) Different payment methods: bank card online banking payment, Alipay payment, WeChat payment, etc.;

4) From the perspective of product fault tolerance: including whether payment can be made again and refunded after payment failure;

2. In terms of performance

Can multiple users pay concurrently;

payment response time;

3. From the perspective of safety

Use Fiddler to intercept the order information, and modify the order amount, or modify the order number, (place two orders A, B, intercept order B when paying, and change the order number of order B to the order number of order A) the payment cannot be completed;

4. Consider user experience

Whether to support shortcut key function;

Click the payment button, whether there is a prompt;

Cancellation of payment, whether there is a reminder;

Whether the UI interface is clean;

Whether the input box is aligned, whether the size is moderate, etc.

5. Compatibility

BS architecture: different browser tests.

APP: Tested on mobile phones of different types, different resolutions, and different operating systems

How to test the shopping cart? (very important)

1. Functional test

a) When not logged in:

Add items to the shopping cart, and the page will jump to the login page. After successful login, the number of shopping carts will increase.

b) After logging in:

  • Are all links redirected correctly;
  • Whether the product can be successfully added to the shopping cart;
  • Is there a limit to the total number of items in the shopping cart;
  • Whether the statistics of the total number of commodities are correct;
  • Whether the select all function is available;
  • Whether the delete function is available;
  • Is the price total correct;
  • Whether the product text is displayed completely when the product text is too long;
  • Whether the products removed from the shopping cart are marked and can still be paid for;
  • Sorting of products newly added to the shopping cart (adding products from stores that exist in the shopping cart and products from stores that do not exist in the shopping cart); - whether to support shortcut keys such as TAB and ENTER;
  • Whether the total number of products decreases after the product is deleted;
  • Whether the favorite function is available;
  • Whether the shopping cart checkout function is available.

2. Compatibility test

BS architecture: different browser tests, such as: IE, Firefox, Google, 360 and so on.

APP: Tested on mainstream mobile phones of different types, different resolutions, and different operating systems, such as Huawei, vivo, oppo, etc.

3. User experience testing

  • Whether there is a prompt to delete the product;
  • Whether to support shortcut key function;
  • Is there a function to return to the top;
  • Whether the checkout button can be displayed floatingly when there are too many items;
  • When there are multiple items in the shopping cart, can it only be settled for a single item;
  • Whether the interface layout and typesetting are reasonable;
  • Whether the text is displayed clearly;
  • Whether the products of different sellers are clearly distinguished.

4. Performance testing

How long does it take to open the shopping cart page

[E-commerce project actual combat] Corresponding related documents, tutorials, and source code message acquisition

Powerful pet fan, please give me a lot of praise~

Guess you like

Origin blog.csdn.net/a448335587/article/details/131743562