2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
si vous êtes uningénieur tests logiciels , ce que vous affrontez chaque jour, ce sont ces bugs « délicats », ils sont comme des ennemis cachés dans le noir, sautant de temps en temps pour vous faire une « surprise ». Alors, comment pouvez-vous analyser et traiter efficacement ces bugs et rendre votre travail de test efficace et intéressant ? Aujourd'hui, nous allons parler de ce sujet.
Examinons d'abord un cas classique.Xiao Li est une personne expérimentéeIngénieur d'essais , il était récemment chargé de tester un système financier. Lors d'un test, Xiao Li a découvert un bug sérieux : il y avait une erreur dans le montant lorsque l'utilisateur effectuait une opération de transfert. Si ce bug était introduit dans un environnement de production, les conséquences seraient désastreuses.
Ainsi, Xiao Li a commencé son « voyage de détective ». Il a commencé par la cause première et a analysé divers facteurs pouvant avoir causé le bug. Après quelques investigations, Xiao Li a découvert que le problème résidait dans une analyse incomplète de la demande et dans des problèmes de code de programme. Certaines conditions aux limites ne sont pas spécifiées dans le document d'exigences, provoquant des erreurs dans le programme lors de la gestion de scénarios spéciaux.
Dans ce cas, Xiao Li doit non seulement corriger le bug, mais également améliorer le processus d'analyse des exigences et de révision du code pour éviter que des problèmes similaires ne se reproduisent.
Regardons un autre cas. Xiao Wang est le collègue de Xiao Li et ils ont participé conjointement au test d'un projet de commerce électronique. Xiao Wang a découvert un bug : la quantité en stock de certains articles dans le panier ne pouvait pas s'afficher correctement. Ce bug semble simple, mais la raison qui le sous-tend est compliquée.
Après une analyse détaillée, Xiao Wang a découvert que les programmeurs ne prenaient en compte que les scénarios normaux lors du codage et ignoraient les situations anormales. Par exemple, lorsque la quantité en stock est nulle, le programme ne la gère pas en conséquence, ce qui entraîne une erreur d'affichage. Ce bug rappelle à Xiao Wang que lors de l'écriture de cas de test, vous devez non seulement couvrir des scénarios normaux, mais également considérer diverses situations anormales.
Afin d'aider tout le monde à mieux comprendre, Xiao Wang a également spécialement écrit un exemple de code :
def check_inventory(item_id):
inventory = get_inventory(item_id)
if inventory > 0:
return f"库存数量:{inventory}"
else:
return "商品已售罄"
# 测试用例
assert check_inventory(101) == "库存数量:10"
assert check_inventory(102) == "商品已售罄"
Ce code utilise un jugement conditionnel simple pour garantir que les informations peuvent être affichées correctement même lorsque l'inventaire est nul. C'est ce que Xiao Wang a appris grâce à l'analyse des bugs.
Lors de l’analyse des bogues, nous devons également prêter attention à l’étape du processus de développement où ils ont été découverts. De manière générale, la phase de découverte des bogues peut être divisée en phase d'analyse des tests et phase d'exécution des tests.
L’étape d’analyse des tests examine principalement les documents d’exigences et les documents de conception générale. Les bugs découverts à ce stade sont souvent liés à des problèmes de documentation et de révision. La phase d'exécution des tests, y compris les tests de fumée, les tests fonctionnels, les tests de régression, etc., consiste à vérifier de manière exhaustive le logiciel afin de garantir le fonctionnement normal de chaque module fonctionnel.
Par exemple, Xiao Li et Xiao Wang ont découvert de nombreux problèmes de documentation dès les premiers stades du projet. Si ces problèmes ne sont pas résolus à temps, ils risquent de provoquer davantage de bugs dans les tests ultérieurs. Par conséquent, ils contrôlent strictement chaque étape de test pour garantir que toute la documentation et le code sont entièrement examinés.
Parfois, l’apparition de bugs est liée à la complexité et à la quantité de modifications d’un système particulier. Dans un grand projet impliquant plusieurs systèmes, certains systèmes peuvent devenir des « zones à forte incidence » de bogues dus à de lourdes modifications. Par exemple, dans les projets de Xiao Li et Xiao Wang, les systèmes 2 et 3 ont subi le plus grand nombre de modifications, ils ont donc également eu le plus de bugs.
En calculant la densité de défauts de chaque système (c'est-à-dire le nombre de défauts pour mille lignes de code), ils ont constaté que même si le système 4 comportait un grand nombre de modifications, le nombre de défauts était relativement faible. Cela indique que le système 4 a une qualité de code supérieure, tandis que les systèmes 2 et 3 nécessitent une optimisation supplémentaire.
Enfin, nous devons également prêter attention au problème des détections manquées lors des tests. Même si les testeurs sont minutieux, certains bogues peuvent encore « s'infiltrer » pendant la phase de test et pénétrer dans l'environnement de production. Afin de réduire cette situation, Xiao Li et Xiao Wang examinent régulièrement le processus de test, analysent les liens pouvant comporter des omissions et apportent des améliorations en temps opportun.
Par exemple, après le lancement d’un projet, ils ont découvert que certains bugs apparaissaient dans l’environnement de production, dont un tiers étaient dus à des détections manquées lors du processus de test. Certains de ces bogues sont dus à une couverture insuffisante des cas de test, et d'autres à des données de test de mauvaise qualité.
Grâce à une analyse complète des bugs, nous pouvons non seulement trouver la cause première du problème, mais également trouver l'inspiration pour des améliorations. Qu'il s'agisse de l'analyse des exigences, de la qualité du code ou du processus de test, chaque aspect nécessite notre attention particulière et une optimisation continue. Ce n'est qu'ainsi que la qualité des logiciels peut être améliorée et l'apparition de bogues réduite.
Enfin, je voudrais remercier tous ceux qui ont lu attentivement mon article. En regardant l'augmentation du nombre de fans et de l'attention, il y a toujours une certaine courtoisie. Même si ce n'est pas une chose très précieuse, si vous pouvez l'utiliser, vous pouvez le prendre directement !
Nous devons étudier pour trouver un emploi bien rémunéré. Les questions d'entretien suivantes proviennent des derniers documents d'entretien de sociétés Internet de premier plan telles que Alibaba, Tencent, Byte, etc., et certains patrons de Byte ont donné des réponses faisant autorité après avoir terminé cela. Je crois que tout le monde peut trouver un emploi satisfaisant sur la base des informations recueillies lors de l'entretien.