<> What environment is the front page Jump analysis in

For testers , When conducting interactive Reviews , We can start the analysis of page Jump based on interactive documents and interface documents .

be careful : The front end of the whole article contains APP,H5 And the intermediate interface routing layer .

<> How to do page Jump analysis
design analysis
1, Analysis of interaction level
protocol analysis
1, Analysis at the level of agreement
General analysis
1, Types of jump pages
2, Interaction scope of page Jump
3, General test method of page Jump
4, Front and back file transfer format

<> Common interaction types based on

* UX Interaction design
* Analysis of competitive product corresponding scenarios
* User perspective
* design code

Level based interaction analysis , We need to focus on whether the interaction between pages is reasonable . first , We are very interested in UX I believe in the ability of the students , Of course, we can also put forward our suggestions based on the other three points . Now the mobile application market APP emerge in an endless stream , each APP Basically, there will be relative competitors or some of the same scenes , We can learn from the design of competitive products in similar page interaction as a standard . As a test , It is necessary for us to stand in the perspective of users , To evaluate the rationality of interaction design . We can get users' opinions from user reviews in various application markets . last , image Google,Apple And other leading global design fashion companies , Their interaction design standards are also worthy of our reference .

example : Payment completion page , If payment is cancelled , Some companies jump to the order details page , Some companies jump to the cash register , You can think it over .

<> Common front end protocol types

<>1,Scheme

scheme Jump is usually used for APP And APP Jump between , Push message and APP And APP And H5 Jump of . There are several common application scenarios :

* Click an event from a page in the browser to open an interface of the corresponding client , It's through URL Scheme://+ Parameter to complete the wake-up jump client page .
* Call wechat , Alipay and other clients complete the payment function. .
* The third party application calls the map software brought by the system .
* Search password , The password is in APP Open the activity page inside
* Pass the data that needs to be shared to SDK,SDK adopt Open Url To open a third-party application to transfer data , On return SDK To deal with it Open Url Parameters of , Realize the callback of viewing and sharing .
* APP The client receives the push Notification bar message , Click to jump to the corresponding page
Test point : Can you jump correctly , Back off , Browser repeatedly pull up APP Will multiple pages be pulled up .

<>2,HTTP,HTTPS


HTTP,HTTPS Mainly used for APP,H5 Communication with access layer . Hypertext protocol HTTP, Send content in clear text , Does not provide any way of data encryption , It is easy to be intercepted by attackers to obtain information . In short ,HTTPS The agreement is made by SSL+HTTP The protocol can be used for encrypted transmission , Network protocol of identity authentication , than http Protocol security . You know how to measure it HTTPS Request for , It is necessary to understand HTTPS The workflow of .



* Client Launch a HTTPS Request for ,Client Know you need to connect Server Of 443( default ) port , Request and Server establish SSL link .
* Server After receiving the request , Send the pre configured public key certificate to the client . The certificate contains the website address , Encryption public key and certificate authority, etc .
*
Client After receiving the certificate , Verify public key certificate : For example, is it within the validity period , Is the purpose of the certificate matching Client Requested site , Is it in CRL In the revocation list , Is the authority issuing the certificate legal , Is the certificate above it valid , This is a recursive process , Until the root certificate is verified ( Built in operating system Root Certificate or Client Built in Root certificate ). Continue if validation passes , If not, a warning message will be displayed .
*
Client Use the pseudo-random number generator to generate the session key used for encryption , The session key is then encrypted with the public key of the certificate , Use the agreed hash The algorithm calculates the handshake message , And use the generated random number encryption , Finally, all generated messages are sent to Server.
* Server receive Client Message sent , Use your own private key (private
key) Decrypt the message , Get session key , Decryption with secret key client Handshake message from the end , And verify hash Is it consistent with the one sent by the client , Encrypt a message with a secret key and send it to client.
*
client The end decrypts and calculates the handshake message hash, If server It's from here hash agreement , The handshake ends , After that, all communication data will be encrypted by the random password generated by the previous client and encrypted by symmetric encryption algorithm .
Test point : 1,https Is the certificate properly installed , Is it trusted 2,https Validity of certificate 3,TLS Impact of protocol upgrade 4, Man in the middle attack

<> General analysis

<>1, Jump page type

at present APP There are roughly three types of pages :Native,RN,H5.RN Full name react
native, yes Facebook stay 15 Open source cross platform mobile application development framework , Main support Android and iOS Two platforms , But using JavaScript Language development is enough . The three pages can jump to each other , however RN And native Can call each other ,H5 And native Can call each other ,RN and H5 Between need native Transfer , Exclude static pages .
RNNativeH5RNNativeH5

For testing performance and user experience , Fluency ,native be better than RN be better than H5, Memory , because RN With frame , Therefore, the memory consumption is relatively high , It will be better than that after stable later period native. because RN There are limited models supported (iOS7 above ,Android4.1 above ), So we need to consider the compatibility of page Jump on different models , And it needs to be considered RN and H5 Degradation between . because RN The first load will pull the local at one time , Data will be read locally later , So you need to think about caching , as well as app Compatibility of different versions . If the development changes some fields , Other versions of the APP collapse .RN and H5 All need to consider the middle page , White screen , Back button , Font adaptation , Memory usage and cache , keyboard , Calendar, etc .

<>2, Page interaction scope
Internal page
1, Up and down joint debugging test
2, Page degradation scheme
3, Page compatibility
4, Page and interface compatibility
External page
1, Application for external joint commissioning personnel
2, Determine the internal and external joint commissioning time
3, Jump directly or jump in the middle page
4, Can I go back after jump
5, Does online external scheduling support production line verification

<>3, General test method of page

Usually APP Not started ,APP At the front desk ,APP There are three stages in the background . When APP At the front desk , You can use all kinds of gestures , System key , Auxiliary soft key , forward , back off , System events, etc .

###4, File format of front and back end transmission

* json
* PB
* xml
* html
* css
* js
* png
This is mainly about it json,pb,xml Three network transmission protocols .

xml Is the earliest network transmission protocol , Transport protocol not only for network layer , It is also common in various configuration files , It is also common in mobile development, but not the mainstream network transmission protocol . It has the advantage of fast resolution , But it's efficient , And the volume is large , Easy to consume traffic .
json Is a lightweight data exchange format . It is more than xml The format is simpler and smaller , And naturally JavaScript support , It is more suitable for mobile terminal to control traffic and memory .

pb yes Google Provides a data serialization protocol , Its speed ratio json fast , But the disadvantage is that the binary storage is not easy to read , But the advantage is good security . In the process of bagging , with proto That's the end PB Format request .

Attention point : Does the resource file exist ,PB Is the file updated ,PB Are file mobile end and back end deployed ,PB Can the format be degraded .

You can pay attention to dry cargo. Official account. ~