倧芏暡なLMSをテストする秘蚣





むンタビュヌ䞭にあなたが恋に萜ち、新しい垂堎を埁服するずきに誇りに思うプロゞェクトを芋぀けるこずはめったにありたせん。同僚のプロ意識が最高のずき、それはさらに楜しいです、そしおあなたのチヌムではあなたはあなたの家族の懐の䞭にいるように感じたす。そのようなプロゞェクトを芋぀けただけでなく、しばらく前にそのプロゞェクトのテストプロセスに圱響を䞎え始めたのは幞運でした。最適なプロセスの理解に䜕が含たれおいるのかをお話ししたす。毎月のリリヌスに至るたでの経緯ず、それらがどのように機胜するか。怜疫の条件にどのように適応したか。



私たちのプロゞェクトは、䞖界のさたざたな囜で700䞇人以䞊が䜿甚しおいる遠隔孊習システムLMS、孊習管理システムです。システムには、1000以䞊のWebペヌゞず玄10,000のテストケヌスが含たれおいたす。







珟圚、このプロゞェクトでは、ノルりェヌの顧客偎ずロシアのアルカディア偎から、玄15の開発チヌムを採甚しおいたす。私は8幎前にQAずしおプロゞェクトに参加したした。過去2幎間、私はQAリヌドずしお働いおおり、テストプロセスの最適化に参加しおいたす。



最適なプロセスの抂念に含たれるもの



私たちの䞻なタスクは、新しい機胜の䜜成やシステムサポヌトなど、゚ンドナヌザヌのニヌズを満たすこずです。システムの速床ず高負荷条件䞋での䜜業の安定性に特に泚意が払われおいたす。



開発プロセスでは、䞻に、時間どおりに合意されたレベルの品質で䜜業を行うなど、ビゞネス目暙の持続可胜な達成を可胜にする必芁がありたす。ただし、プロセスに関䞎するすべおの人が満足できるように、プロセスは開発チヌムにずっおも快適である必芁がありたす。私たちのチヌムでは、私たちにずっお最適なプロセスを確立したした。これを実珟するための手段は次のずおりです。



䞀般的な開発プロセス



aチヌムのニヌズを満たす開発アプロヌチ



私たちは3週間続くスクラムずスプリントを䜿甚しお䜜業したす。スプリントの前に、その目暙の提瀺が行われ、このスプリントの䞀連の芁件が圢成されたす。次は、すべおのタスクを評䟡し、スプリントに含たれる䞀連のタスクを決定する蚈画です。スプリントの最埌に、スプリントレビュヌが行われ、完了したすべおのタスクが瀺され、達成された目暙が発衚されたす。このアプロヌチは私たちにずっお最適です。スプリントでは、十分な量の新機胜を䜜成するず同時に、゚ンドナヌザヌからの特定の数のバグを修正しおテストしたす。スプリント時間の10がそのようなバグに割り圓おられたす。







ラむンナップチヌムリヌダヌ、開発者、テスタヌ。私たちのチヌムの開発者ずテスタヌの比率は31です。この比率により、スプリントの目暙を均等に達成できたす。プロセスの参加者の1人がアむドル状態になる期間はありたせん。開発者が倉曎を加えおいる間、テスタヌはこの倉曎に関連するテストケヌスを䜜成たたは曎新したす。開発が完了するず、テスタヌは倉曎を確認し、開発者はスプリントの次のタスクに進むか、テストを支揎したすこれは倧芏暡な倉曎をテストするずきに必芁です。



プロダクトオヌナヌは、各スプリントの開始時に目暙ず芁件を蚭定し、終了時にそれらを受け入れたす。たた、各チヌムには、新たな問題の解決を支揎するスクラムマスタヌがいたす。







チヌムがスプリントのタスクに盎接関係しないさたざたなアクティビティを実行する機䌚を持ち、さたざたなリスクを考慮に入れるために、スプリントのタスクを完了するために蚈算される時間は、チヌムの総䜜業時間の80です。぀たり、通垞のスプリント䞭の1日2時間は、コミュニケヌション、さたざたな䌚議、セミナヌ、およびスプリントで芋぀かったバグの修正のために予玄されおいたす。



b明確な芁件ず適切な蚈画



これたで䞍明だった詳现や、スプリントプロセスですでに远加された面倒な远加倉曎によっお蚈画が匕きずり出されたり、スプリントが倱敗したりしないようにするために、十分に明確で正確な芁件を持぀倉曎のみをスプリントに取り入れようずしおいたす。倉曎に関係するプロゞェクト領域がチヌムにわからない堎合、たたは蚈画䞭にプロダクトオヌナヌが回答できない質問が倚数ある堎合、チヌムはこの領域を調査するためのタスクたたは調査タスクをスプリントできたす。これにより、明確な芁件が埗られたす。ある皮のプロトタむプ。



c回顧



バグを修正するこずも重芁です。これは、スプリントずリリヌスの䞡方に適甚されたす。䜕かのための時間がない堎合や、期限に間に合わせるために残業しなければならない堎合がありたす。たずえば、リリヌスを事前にテストする必芁がある堎合これは、䌚瀟が将来回避したい远加コストです。そのため、スプリントやリリヌスで䜕が良かったのか、䜕が悪かったのかを振り返り、今埌そのミスを回避するための察策を講じおいたす。



d管理サポヌト



チヌムレベルでは解決できない質問や状況が発生するこずがありたす。プロセスを倉曎するか、䌚瀟の経営陣を決定に関䞎させる必芁がありたす。圌らがあなたを助けたいず思っおおり、そのような状況であなたをサポヌトする準備ができおいるこずを確認するこずは非垞に重芁です。私たちの䌚瀟では、これですべおがうたくいきたす-これはアルカディアず顧客偎の管理の䞡方に圓おはたりたす。すべおの問題が議論され、すべおの関係者を満足させる解決策が垞に芋぀かりたす。



eそしお、私の意芋では、基本は良奜なコミュニケヌションです。そしお、私たちが䌚瀟に持っおいるのは、快適な仕事の䞻な利点の1぀です。慈悲、劥協したいずいう願望です。



これは、チヌムの各メンバヌ、プロダクトオヌナヌ、スクラムマスタヌ、䌚瀟の経営陣、およびプロセスの他の倚くの参加者など、すべおの人に圓おはたりたす。誰もが質問や議論を受け入れるこずができ、開発者は芁件に぀いおテスタヌず盞談し、開発の芳点ずテストの芳点の䞡方からこれたたはその倉曎を行うための最善の方法を䞀緒に決定したす。次に、プロダクトオヌナヌは垞にチヌムず連絡を取り、すべおの問題を迅速に解決し、スプリントの目暙を達成するために垞に途䞭で達成しようずしたす。スクラムマスタヌはい぀でもお手䌝いしたす。远加のリ゜ヌステスタヌ/開発者、スプリントたたはリリヌスに必芁な堎合を芋぀けるか、スプリントを時間内に敎理するための最良の方法を提案したす。



テストプロセス



aテストケヌスの䜜成に関連するQA暙準ガむドラむン。



私たちのプロゞェクトでは、テストケヌスがシステムの機胜に関する䞻芁な詳现なドキュメントであるため、それらに倚くの泚意が払われおいたす。チヌムによっお行われた倉曎ごずに、新しいテストケヌスが䜜成されるか、既存のテストケヌスが曎新されたす。



以前は、システムがただそれほど巚倧ではなかったずき、テストケヌスはさたざたな特定の手順で非垞に詳现に蚘述されおいたしたが、珟圚、このアプロヌチは受け入れられなくなりたした。このようなテストケヌスの曎新には倚くの時間がかかりたす。したがっお、私たちQAリヌドは暙準を開発したした。その䞻な芁件は、テストケヌスの詳现な手順ではなく、期埅される結果を含むテストスクリプトを䜜成するこずです。



bスプリントでのテストに関連するQA暙準。



スプリントテスト暙準は、各チヌムが高品質の倉曎を行うこずを保蚌するために開発されたした。



これらの暙準は、以䞋を含む最倧テストカバレッゞに基づいおいたす。



  • チヌムによっお行われた倉曎を盎接テストしたす機胜、および必芁に応じおUI。
  • チェックリストを䜿甚したこの倉曎埌のシステムのテストこれらは必須のチェックです。これには、障害者のアクセシビリティのテスト、翻蚳のチェック、既存のデヌタのチェック、特殊文字の䜿甚のテスト、セキュリティチェック、モバむルアプリケヌションの倉曎のテストおよびその他のチェックが含たれたす。 ..。


cリリヌステストに関連するQA暙準。



リリヌスプロセスずそこで䜿甚される暙準に぀いおは、以䞋で詳しく説明したす。



d自動回垰テストの䜿甚。



回垰テスト甚の自動テストの䜜成により、チヌムの寿呜が倧幅に短瞮されたした-コマンドの倉曎埌に䞀郚の領域をチェックする必芁がある堎合は、システムの目的の領域に察しお回垰自動テストを実行できたすこの領域が自動テストでカバヌされおいる堎合。たた、チヌムの倉曎によっおシステムの䞀郚が壊れた堎合、回垰自動テストがこれを怜出したす。



eテスタヌの盞互支揎、開発者の支揎。



テスタヌはそれほど倚くありたせん平均しお、3人の開発者に察しお1人のテスタヌ。さらに、リリヌスをテストするためのスプリントタスクに気を取られるこずがあり、すべおに十分な時間がない堎合がありたす。



この堎合、他のチヌムのテスタヌから、珟時点で䜜業負荷の少ない人が垞に助けおくれたす。 QAリヌドたたはスクラムマスタヌは、そのようなテスタヌを芋぀けるのに圹立ちたす。さらに、開発者は、テストケヌスがすでに䜜成されおいる堎合、スプリントの倉曎のテストを支揎できたす。



fテスタヌ間のコミュニケヌション。



コミュニケヌションには、Microsoft Teamsのチャットが䜿甚され、誰もが質問をしおすぐに回答を埗るこずができ、残りのテスタヌは最新の情報を芋぀けるこずができたす。たた、毎月QAミヌティングを開催し、テスタヌがチヌムの珟圚のタスクを互いに共有し、問題に぀いお話し合うこずができたす。テストぞのアプロヌチや、テスタヌに​​銎染みのない領域に関連するテストケヌスの堎所。リリヌスに関する質問将来のリリヌスチヌムの構成、テストタむムラむンの倉曎;リリヌスなどで重倧なバグを芋逃した埌に远加された必須のチェックなど。



䞊蚘のアプロヌチにより、静かな動䜜モヌドで高品質のテストを保蚌できたす。



:



以前は四半期ごずにリリヌスされおいたした。このような時間枠で、リリヌスごずにチヌムによっお倚くの倉曎が加えられたした。この量の倉曎には確かにリリヌス前のリグレッションが必芁だったため、リグレッションには別の時間枠があり、すべおのチヌムがそれに接続されおいたした。これには通垞玄2週間かかり、テスタヌずチヌム開発者の䞡方が回垰に参加したした。



しばらくするず、リリヌステストプロセスの回垰に自動テストが䜿甚されるようになりたした。すべおの回垰テストが自動テストでカバヌされおいるわけではなく、䞀郚は手動でテストされたした。党䜓ずしお、これにより回垰テストの時間が短瞮されたしたが、システムのサむズが原因で、完党な回垰にはただ時間がかかりたした。



開発サむクル党䜓は次のようになりたした。







このリリヌスぞのアプロヌチは最適ではなく、過床に劎力を芁し、゚ンドナヌザヌの芁求を迅速か぀柔軟に満たすこずができないこずが明らかになりたした。リリヌスプロセスぞのアプロヌチには倉曎が必芁であり、月に1回、より頻繁にリリヌスするこずが決定されたした。月次リリヌス



に移行するず、郚分的に自動化された回垰テストを䜿甚しおも、リリヌステストフェヌズ䞭に回垰を実行する時間がないこずが明らかになりたした。珟圚、リリヌスの準備期間はわずか2週間です。したがっお、珟圚、回垰はスプリントで必芁な堎合にのみ実行されたす開発者がシステムの特定の郚分の回垰が必芁であるず報告した堎合。



ただし、リリヌスのテスト段階では、新機胜だけでなくシステムの党䜓的な状態も確認する必芁があるため、回垰ではなく安定化を䜿甚するようになりたした。



安定化には次



のものが含たれたす。a 各チヌムによるこのリリヌスに含たれる新機胜のテスト。

bクリティカル゚リアテストは、システムのメむン゚リアの基本機胜のテストです完党な回垰サむクルよりも明らかに時間がかかりたせん。

cこのリリヌスのチヌム倉曎で芋぀かったバグをテストしたす。



開発サむクル党䜓は次のよう







になりたす。リリヌスの準備に他に䜕が必芁かを考えおみたしょう。



安定化が完了し、リリヌスパッケヌゞの品質が良奜になったら、本番環境にロヌルアりトする前に、本番環境前の環境で構成をテストしたす。したがっお、オペレヌションは環境の曎新を緎習し、テスタヌは実際のリリヌスの前に珟圚のリリヌスパッケヌゞで構成を確認したす。



リリヌスの2週間の準備が長すぎお、スプリントでテストする時間がほずんど残っおいないず思われるかもしれたせん。ただし、通垞、テスタヌがリリヌスの準備をするのに4〜6日かかりたす。それは以䞋に䟝存したす



  • 圌のチヌムがリリヌスしようずしおいる機胜の耇雑さず範囲、
  • 珟圚のリリヌスのリリヌスチヌムぞのテスタヌの参加。


プロゞェクトのすべおのテスタヌリリヌスチヌムを含むは、安定化テストに参加したす。構成ずリリヌス自䜓のテストは、リリヌスチヌムによっおのみ行われたす。



䞀般的なリリヌステストのスケゞュヌルは次のように







なりたす。重芁な領域ず構成には䞀定のテストが含たれおいるため、これらのテストケヌスを郚分的に自動化したした。これにより、リリヌスに向けたテスト時間が倧幅に短瞮されたため、将来的には自動テストの䜿甚を拡倧する予定です。



テストの線成の芳点から、リリヌスごずにQAコヌディネヌタヌQAリヌドの誰かが遞択されたす。 QAコヌディネヌタヌにはより倚くの責任があるため、リリヌスのリヌドタむムは通垞、通垞のテスタヌよりもQAコヌディネヌタヌに察しお蚈画されたす。これらが含たれたす



  • リリヌスチヌムを定矩し、リリヌス時にそのすべおのメンバヌの可甚性を確認したす。
  • リリヌスのテスト蚈画の準備。
  • 安定化および構成テストの段階で自動テストを開始したす。
  • リリヌステスト䞭のテスタヌの䜜業の調敎。
  • テスタヌがリリヌスに関連するあらゆる皮類の問題を解決するのを支揎したす。
  • テストの実装を制埡し、必芁に応じお、過負荷のチヌムのテストを支揎するために負荷を再配分したすこれらは、リリヌステストをすでに完了しおいる他のチヌムのテスタヌ、チヌム開発者、たたはQAコヌディネヌタヌ自身のいずれかです。


そしおもちろん、問題なくリリヌスが完了するこずはありたせん。私たちはそれらを解決し、将来それらを回避する方法に぀いお蚈画を立おたす。最近出䌚ったものをいく぀か玹介したす。



  • : , - , , - .

    : .
  • : pre-production . — .

    : .
  • : , .



    :



    a) - ( , ),

    b) ,

    c) ,

    d) , . , , .

    解決策このような堎合、リリヌスはスプリントタスクよりも優先床の高いタスクであるため、2週間すべおのリリヌスぞの参加や残業が必芁な堎合でも、リリヌスに必芁なすべおをテストする時間がありたす。


しかし、どんな問題が発生しおも、リリヌスチヌムの力によっお、たたは特定の分野の有胜な人々を巻き蟌むこずによっお、い぀でも問題を解決できたす。䞻なこずは、これは垞によく調敎されたチヌム䜜業であり、良い結果に぀ながるずいうこずです。



怜疫での䜜業テスタヌの䜜業を確実にする方法



私たちのプロゞェクトでは、オフィスでの䜜業が前提条件です。これは、プロセスの参加者を勀務時間䞭に芋぀けるこずができるようにするためです。突然チャットで応答しなくなった堎合、圌ず䞀緒に働く人々は、圌が同僚の䜕人かによっお必芁ずされおいるこずを圌に知らせるこずができたす。䞀郚のチヌムはノルりェヌにあり、䞀郚はサンクトペテルブルクにあるため、これは適切です。



パンデミックの間、ノルりェヌずロシアの䞡方が人口の倧郚分を自己隔離に送ったずき、私たちは遠隔䜜業に切り替えなければなりたせんでした。



私たちはい぀ものように䜜業を続けたした。チヌムはただスプリントの生産性が高く、スプリントを終了し、リリヌスは時間どおりにリリヌスされたした。



コミュニケヌションは䟝然ずしお良奜なレベルでした。チヌムアプリケヌションはすべおのニヌズをカバヌしたした。チャットで掻発な䌚話があり、䌚議は問題なく開催されたした。緊急に話し合う必芁のある質問がある堎合、圌らはプロゞェクト参加者を呌びたした。



テストの構成の芳点からは、問題はありたせんでした。勀務時間䞭、すべおのテスタヌがチャットに応答し、リリヌスのテストに迅速に参加したした。誰かを芋぀ける必芁があるが、チャットで圌が応答しない堎合に備えお、携垯電話番号のリストを甚意したしたが、それを䜿甚する必芁はありたせんでした。



自宅の遠隔地の職堎で私たちが盎面した唯䞀の問題は、VPNの特性により、電話/タブレットからチヌム環境でシステムをテストするこずは䞍可胜でした。しかし、この問題は回避されたした。解決策を芋぀けたプロゞェクトマネヌゞャヌずITサヌビスのおかげです。ホヌムネットワヌク経由で接続するずきにプロキシを䜿甚し始め、今では自宅からモバむルデバむスでテストできるようになりたした。



珟圚、私たちは郚分的にオフィスで仕事に戻っおいたすが、䌚瀟の䞀郚は自宅で仕事を続けおいたす。そしお、街のさたざたな堎所にいおも、子䟛やペットが泚意を芁求し、むンタヌネットが遅くなり、定期的に消え、ラむトが消え、気を散らすものがたくさんあるような非皌働状態で、このような困難な時期に働き続ける単䞀の緊密な䌚瀟であり続けたすたったくわからないこず、どうやっおたた仕事ができたの



しかし、私たちは䞀緒にこれらすべおを生き残り、最終的に本栌的なオフィスラむフに戻り、い぀もよりもさらに広くお互いに笑顔になりたす。



結論



䞊蚘を芁玄するず、いく぀かの点に泚意したいず思いたす。



  1. , , . — .
  2. , , .
  3. , , , — . , .



All Articles