Préface
En un clin d'œil, cela fait-il si longtemps que je n'étudiais pas ? , cela fait presque 4 ans que j'ai obtenu mon baccalauréat en mai 2018 et que j'ai rejoint une petite entreprise. Il y a quelque temps, j'ai souhaité trouver un nouvel emploi grâce au recrutement social. J'ai passé plus d'un mois à réviser et à passer des entretiens. il y a quelques jours, j'ai reçu une offre de Byte, j'aimerais donc partager mon expérience avec tout le monde ici. Je souhaite que tous les étudiants qui souhaitent trouver un emploi puissent aller dans l'entreprise de leur choix !
Côté octet
Cycle de vie des tests
- Phase d'exigences
- Phase de planification
- Phase d'analyse
- Phase de conception
- Phase de mise en oeuvre
- Phase d'exécution
- Phase de conclusion
- Phase de clôture
- Modèle V, W
- Méthode d'écriture de cas de test Méthode de conception basée sur les exigences
- Classe d'équivalence
- Valeur limite
- diagramme de cause à effet
- disposition orthogonale
- méthode de conception de scène
- mauvaise méthode de supposition
Octet deux côtés
Niveau de bug
Bug Crash (Blocker) niveau 1, doit être modifié en premier
(1) Crashes du système, blocages et boucles infinies causés par des opérations de routine
(2) Problèmes de sécurité provoquant une fuite de données, tels qu'une fuite d'informations de compte privé causée par des attaques malveillantes.
(3) impliquant de l'argent, tel qu'un logiciel de paiement, des erreurs de calcul d'argent
Bug critique de niveau 2
(1) Des fonctions importantes ne sont pas implémentées (par exemple : WeChat n'a pas de chat vocal, de cercle d'amis, etc.)
(2) L'erreur se propage largement et affecte la mise en œuvre normale d'autres fonctions importantes.
(3) Plantages, blocages et boucles infinies du programme provoqués par des opérations non conventionnelles (opérations non conventionnelles : opérations que les utilisateurs n'effectueront pas lors de l'utilisation du logiciel)
(4) Défauts d'apparence inacceptables (par exemple : distorsion, compression et déformation complète de l'image de couverture de la plateforme de diffusion en direct)
(5) Le mot de passe est affiché en texte brut
Bug majeur de niveau 3
Défauts qui n'affectent pas le fonctionnement du produit ou ne provoquent pas de dysfonctionnements, mais ont un impact plus important sur l'apparence du produit et le processus suivant
(1) Les fonctions secondaires ne peuvent pas être réalisées normalement
(2) Erreur d'interface d'opération (y compris la définition des noms de colonnes dans la fenêtre de données, qui ont des significations différentes), par exemple : le nom de colonne est différent du contenu sous le nom de colonne.
(3) Erreurs de requête et erreurs d'affichage des données
(4) Les restrictions de saisie simples ne sont pas placées sur le frontal à des fins de contrôle ; (l'affichage du format, tel que le jugement du format lors de la connexion et de l'enregistrement, peut être jugé par le frontal)
(5) Aucune invite n'est donnée pour l'opération de suppression
Bug mineur de niveau 4
Le programme n'est pas beau dans certains affichages, n'est pas conforme aux habitudes des utilisateurs ou comporte des erreurs de texte.
(1) L'interface n'est pas standardisée
(2) Les instructions auxiliaires ne sont pas clairement décrites
(3) Le texte de la fenêtre d'invite n'utilise pas la terminologie de l'industrie
(4) Il y a des erreurs de texte dans l'interface
(5) Avis d'amélioration : suggestions susceptibles d'améliorer la qualité du produit, y compris de nouvelles exigences et des améliorations des exigences.
Octet trois côtés
Processus et threads, quels sont les modes des threads ?
3 modes :
1. Hériter du fil de discussion
2. Implémentez l'interface exécutable et l'interface Callable pour créer des threads Thread via le wrapper FutureTask.
3. Utilisez ExecutorService, Callable et Future pour implémenter des threads qui renvoient des résultats.
-----Hériter de la classe Thread pour créer un thread----
1d définit une sous-classe de la classe Thread et remplace la méthode run() de la classe. Le corps de la méthode de cette méthode est la tâche que le thread doit accomplir. La méthode run() est également appelée corps d'exécution du thread.
2Créez une instance de la sous-classe Thread, c'est-à-dire créez un objet thread
3 Démarrez le thread, c'est-à-dire appelez la méthode start() du thread
----- Implémenter l'interface Runnable pour créer des threads-----
1. Définissez la classe d'implémentation de l'interface Runnable. Vous devez également remplacer la méthode run(). Cette méthode run() est le corps d'exécution du thread comme la méthode run() dans Thread.
2. Créez une instance de la classe d'implémentation Runnable et utilisez cette instance comme cible de Thread pour créer un objet Thread. Cet objet Thread est le véritable objet thread.
3 La troisième partie démarre toujours le thread en appelant la méthode start() de l'objet thread.
----- Créer des fils de discussion à l'aide de Callable et Future -----
1. Créez une classe d'implémentation de l'interface Callable, implémentez la méthode call(), puis créez une instance de la classe d'implémentation (à partir de java8, vous pouvez directement utiliser des expressions Lambda pour créer des objets Callable).
2. Utilisez la classe FutureTask pour envelopper l'objet Callable. L'objet FutureTask encapsule la valeur de retour de la méthode call() de l'objet Callable.
3 Utilisez l'objet FutureTask comme cible de l'objet Thread pour créer et démarrer le thread (car FutureTask implémente l'interface Runnable)
4. Appelez la méthode get() de l'objet FutureTask pour obtenir la valeur de retour après l'exécution du sous-thread.
Entretien RH
1. Parlez-moi d'un projet qui vous a le plus impressionné
2. Quelles responsabilités aviez-vous dans le projet et qu’avez-vous accompli ?
3. Quelles difficultés avez-vous rencontrées et comment les avez-vous résolues ?
4. Avez-vous déjà servi en tant que leader ? Quelle est la capacité la plus importante ?
5. Parlez de vos avantages
6. Pensez-vous que votre capacité à résister au stress est forte ?
7. Que pensez-vous des heures supplémentaires ?
8. Avez-vous quelque chose à demander ?
Au retour de l'entretien Byte, afin de fournir à chacun un meilleur matériel d'entretien, j'ai passé plus d'un mois à résumer les questions d'entretien de test de logiciels sur le marché et j'ai compilé un PDF qui suffit à tout le monde. Il est temps de revoir les questions ! À moins que les questions de l'entretien ne soient très délicates, elles ne vous surprendront pas.
Partage d'expérience sur des postes de tests de logiciels chez de grands constructeurs
Grâce à la synthèse du Big Data, nous avons constaté qu'en fait, les entretiens pour les postes de test de logiciels sont presque les mêmes. Les questions fréquemment posées incluent les points de connaissances suivants :
Première partie, théorie des tests (bases des tests + analyse des exigences + modèle de test + plan de test + stratégie de test + cas de test, etc.)
Partie 2, Linux (bases de Linux + exercices Linux)
La troisième partie, MySQL (connaissances de base + exercices de requêtes + résumé des questions d'entretien classiques de Wannian Student Table + vraies questions des sociétés de bases de données)
Partie 4, Tests Web
Partie 5, tests API
Sixième partie, tests d'applications
Partie 7, Outils de gestion
Partie 8, bases de Python (bases de Python + questions de programmation + collections + fonctions + fonctionnalités Python, etc.)
Partie 9, liée au sélénium
Partie 10, Tests de performances
Partie 11, liée à LordRunner
Partie 12, Réseaux informatiques
Partie 13, Principes de composition
Partie 14, Structures de données et algorithmes
Partie 15, Questions logiques
Partie 16, Ressources humaines
Bases des tests logiciels
Quelles sont les étapes du test logiciel ?
Comment enregistrer un script de test ?
Les méthodes de test doivent être prises en compte pour savoir comment tester
Comment estimer l’effort de test ?
Problèmes de conception des tests
Quelles sont les solutions lorsqu’une erreur survient pendant le processus de test ?
Problèmes d'exécution des tests
Objectifs de l'évaluation des tests
Comment améliorer les tests ?
Avantages et inconvénients du mode C/S
Avantages et inconvénients du mode B/S
Quelle est la différence entre Linux
grep et find ?Quelles sont les utilisations de grep ?
Afficher l'adresse IP ?
Créer et supprimer un répertoire multi-niveaux ?
Trouver le fichier haha.txt dans le répertoire personnel de l'utilisateur actuel ?
Comment interroger le processus Tomcat, tuer le processus et écrire des commandes Linux ?
Afficher les fichiers journaux de manière dynamique ?
Quelle est la commande pour vérifier l’espace disque dur du système ?
Vérifier tous les ports sur lesquels la machine actuelle écoute ?
Python
compte le nombre de lignes de code dans un fichier de code source Python, supprime les commentaires, les lignes vides et le génère ?
Python appelle cmd et renvoie le résultat ?
Tri à bulles
Combien de nombres à trois chiffres différents et non répétitifs peuvent être formés à partir des quatre nombres 1, 2, 3 et 4 ?
Veuillez utiliser python pour imprimer des nombres symétriques inférieurs à 10 000 (caractéristiques des nombres symétriques : les nombres sont symétriques, tels que : 1, 2, 11, 121, 1221, etc.)
Étant donné un entier N et un nombre K de 0 à 9, il est nécessaire de renvoyer le nombre de fois que le nombre K apparaît dans 0-N.
Déterminez combien de nombres premiers il y a entre 101 et 200 et affichez tous les nombres premiers
Une fonction qui entre un triangle. Après l'entrée, la sortie peut former un triangle. Pour le type triangle, veuillez utiliser la méthode de partition de classe d'équivalence pour concevoir des cas de test.
MySQL
Quel moteur utilisez-vous et quelles sont les différences entre les moteurs ?
Comment optimiser les commandes de requête ?
Optimisation de la base de données ?
Comment se produit l’injection SQL et comment l’empêcher ?
Quelle est la différence entre NoSQL et les bases de données relationnelles ?
Quelle est la différence la plus fondamentale entre la nature de MySQL et de MongoDB ?
Comment implémenter la pagination dans la base de données Mysql ?
Fonctionnement de la base de données MySQL ?
Optimiser la base de données ? Améliorer les performances de la base de données ?
Qu’est-ce que l’intégrité des données ?
la toile
Quelle est la différence entre les tests Web et les tests d’applications ?
Construction d'un environnement de test WEB et méthodes de test
Tutoriel de test WEB
Points clés et méthodes de base des tests WEB
Résumé de la page de test Web
…
Test d'interface
Qu'est-ce qu'une interface
Si la requête du module passe de http à https, comment le plan de test doit-il être formulé et modifié ?
Qu'est-ce que l'agent de débogage du protocole HTTP couramment utilisé dont je dispose ?Description détaillée du processus de configuration pour capturer le protocole HTTPS ?
Décrire la structure hiérarchique du protocole TCP/IP et les protocoles importants dans chaque couche
jmeter, le résultat de la réponse d'une interface est le suivant :
Comment nettoyer les données inutiles générées par l'interface
Comment gérer les interfaces qui dépendent de tiers
Où mettez-vous les données de test ?
Qu’est-ce que le data-driven et comment le paramétrer ?
…
Tests de performances
Selon vous, quel est le but des tests de performances ? Quelle est la clé pour faire un bon travail de tests de performances ?
Sous quels angles l’analyse des performances côté serveur est-elle effectuée ?
Comment comprendre les tests de résistance, les tests de coupe négatifs et les tests de performances ?
Comment déterminer s’il y a une fuite de mémoire et les indicateurs préoccupants ?
Décrire les raisons des fuites de mémoire dans le logiciel et comment les vérifier (cela peut être décrit en combinaison avec un langage de développement).
Décrivez brièvement ce qu'est le transfert de valeur, qu'est-ce que le transfert d'adresse et quelle est la différence entre les deux ?
Qu’est-ce qu’un goulot d’étranglement du système ?
…
Comment Selenium
crée-t-il un cadre de test automatisé ?
Comment concevoir des cas de tests automatisés :
Comment Webdriver ouvre-t-il et quitte-t-il un navigateur ?
Qu'est-ce qu'un framework de tests automatisés ?
Qu’est-ce que Selenium et quelles sont les versions populaires ?
Comment démarrer Selenium RC à partir de la ligne de commande ?
Sur ma machine, le port 4444 n'est pas gratuit. Comment puis-je utiliser un autre port ?
Qu'est-ce que Selenium Server et en quoi est-il différent de Selenium Hub ?
Comment se connecter à la base de données depuis Selenium ?
Comment vérifier qu’un objet existe sur plusieurs pages ?
Quelle est la différence entre l’utilisation de barres obliques simples et doubles dans XPath ?
Comment écrire des extensions utilisateur pour SeleniumIDE/RC ?
Comment vérifier l’existence d’un élément après le chargement réussi de la page ?
Que savez-vous de Selenium Grid et quelles fonctionnalités offre-t-il ?
Comment démarrer le serveur Selenium à partir de votre classe Java ?
Quels sont les points de vérification dans Selenium ?
Qu'est-ce que XPath ? Quand devez-vous utiliser XPath dans Selenium ?
…
Ordinateurs et réseaux
L'IP d'un ordinateur est 192.168.10.71, le masque de sous-réseau est 255.255.255.64 et 192.168.10.201…
Veuillez décrire brièvement les concepts de DNS, d'Active Directory et de domaines.
Que signifie le haut débit 10M et quelle est la vitesse de téléchargement théorique ?
Qu'est-ce qu'une adresse IP ?
Quelle est la division du modèle de réseau OSI à sept couches ?
Quelle est la différence entre TCP et UDP ?
À quelle couche de protocole appartient HTTP ?
Quelle est la différence entre HTTP et HTTPS ?
Quelle est la différence entre les cookies et la session ?
Quelle est la différence entre une requête HTTP get et une requête post ?
Quelle est la différence entre HTTP1.0 et HTTP1.1
Processus d'établissement de connexion TCP et processus de déconnexion ?
Le processus du client utilisant DHCP pour obtenir une IP ?
Écrire l'adresse réseau et l'adresse de diffusion d'un certain segment de réseau ?
…
Ressources humaines
Quel est votre parcours professionnel dans le domaine des tests ? Selon vous, quels sont les avantages des tests ?
Quel est le facteur le plus important à considérer lorsque vous recherchez un emploi ?
Pourquoi devrions-nous vous admettre ?
Veuillez parler de vos plus grandes caractéristiques personnelles.
Quelles qualités et compétences doit posséder un ingénieur de tests ?
Demandez également comment vous garantissez la qualité des logiciels, c'est-à-dire comment pensez-vous pouvoir garantir au maximum la qualité des logiciels ?
Pourquoi avoir choisi de tester ce métier ?
Si je vous embauchais, quelle contribution apporteriez-vous au département ?
Comment obtenir des documents :
Ce document devrait être l'entrepôt de préparation le plus complet et le plus complet pour les amis qui souhaitent se lancer dans [les tests de logiciels]. Cet entrepôt m'a également accompagné dans le voyage le plus difficile. J'espère qu'il pourra également vous aider ! Tout ce qui précède peut être partagé et les amis dans le besoin peuvent cliquer sur la petite carte ci-dessous pour rejoindre le groupe et l'obtenir gratuitement.