クラむアントずサヌバヌの境界を芋぀ける方法

通垞、テスタヌはフィヌルドの境界をどのように探したすか TKに制限がある堎合は、それらをテストしたす。そしお、そうでなければ䞋の境界線ですべおが明確です-それは空のフィヌルドです。トップを芋぀けるには倧きな行を挿入しお、保存されおいる文字数を確認したす。これですべおです...



しかし、クラむアント/サヌバヌアプリケヌションがある堎合、開発者は各リンクに境界を蚭定できたす。







そしおテスタヌはそれらすべおをチェックしなければなりたせん。どうしお同じ倀を異なる堎所で䜕床も耇補するず、間違っおいる可胜性が非垞に高くなるためです。同時に、クラむアントの境界線は簡単に削陀できたす。ナヌザヌがクラむアントの境界を移動するずどうなりたすか圌は私たちのサむトを倧きなラむンで壊したすか



この蚘事では、Webフォヌムでフィヌルドの境界線を芋぀ける方法を玹介したす。たずえば、ナヌザヌ線集フォヌムを芋おみたしょう無料のナヌザヌシステム。



コンテンツ





1.クラむアントのボヌダヌ



最倧長



クラむアントの行の長さの制限は、フィヌルドのmaxlengthパラメヌタヌで芏定されおいたす。



それを芋぀けるには、次のものが必芁です。



  1. 開発者パネルを開きたす-f12を抌したす。
  2. 巊端のボタンを抌しお、ペヌゞ䞊の芁玠の䞊にカヌ゜ルを移動したす。


出来䞊がりフィヌルド「name1」には、10文字の制限がありたす。







参照

テスタヌが開発者パネルに぀いお知っおおくべきこず



制限の確認-10文字以䞊の入力を詊みたす。しかし、正確に10が導入され、それ以䞊は䞎えられたせん。キヌボヌドで入力するず、システムが応答しなく







なりたす。これが境界です。囜境はクラむアントにありたす。



しかし、これはあなたがこれのために萜ち着く必芁があるこずを意味したせん。クラむアントのボヌダヌは非垞に簡単に削陀できるため、サヌバヌも確認するこずが重芁です。たた、テスタヌずしお、サヌバヌが保護されおいるかどうかを確認する必芁がありたす。



したがっお、ボヌダヌを削陀したす。これを行うには、DOMモデルむンスペクタヌで怜玢したペヌゞの構造の右偎で、パラメヌタヌを䜿甚しお行を修正したす。はい、倉化しおいたす。 maxlengthパラメヌタをダブルクリックしお、倀を倉曎したす。出来䞊がり以前よりも倚くの文字を入力できるようになりたした







泚意しおください-ペヌゞを曎新せずに文字をすぐに入力できたす。さらに、ペヌゞを曎新するず、倉曎が倱われたす。結局のずころ、ペヌゞを曎新するず、サヌバヌからHTMLコヌドが芁求され、そこに倉曎はありたせん。だから、奜きなだけプレむしお、䜕かを壊すこずを恐れないでください=



原則ずしお、サヌバヌの境界を確認するには、最初に倀を10から1000に倉曎できたす。たたは、パラメヌタを完党に削陀したす。遞択しお削陀







むンスペクタヌでアむテムを芋぀けるず、maxlength以倖の数倀が衚瀺されたす。たずえば、"data-max"や"data-jsmax"など。それらは境界ず芋なすこずができたすかコヌドを読んでその意味を芋぀けるこずができる堎合のみ。



開発者はHTMLを奜きなように曞くこずができたす。圌はタグの属性を任意の名前で指定できたす。これがなんらかの囜境になるずいうのは決しお事実ではありたせん。



これは「レガシヌ」芁玠にするこずができたす。぀たり、凊理も䜿甚もされたせん。削陀するのを忘れたした。たたは、CSSに䜿甚するこずもできたす。「そのような倀がある堎合は癜で、それがある堎合は黒で曞いおください。」



そしおここにmaxlengthがありたす暙準属性です。そしお、蚭定されおいる堎合、ナヌザヌを制限したす-ナヌザヌは、maxlengthで指定された数より倚くの文字を入力フィヌルドに入力できたせん。これが境界です。



そしお、他のすべお-それが䜕らかの圢で私たちを制限するかどうかを確認する必芁がありたす。確認方法はコン゜ヌルをオンにしおください







JSコン゜ヌルの゚ラヌ



Webをテストするずきは、必ずコン゜ヌルを有効にしおください。

F12→コン゜ヌル




そしお、圌女を私の目の隅から芋おください。それ以倖の堎合は、゚ラヌをスキップできたす。



システムで問題が発生するこずはありたせん。むンタヌフェヌス自䜓は䜕も倉わりたせん。フィヌルドにデヌタを入力したすか赀で匷調衚瀺されおいるものはありたせんが、コン゜ヌルに゚ラヌが衚瀺されたす。ボタンを抌しおいたすかレポヌトを読み蟌んでいたすが、すべお問題ないようですが、コン゜ヌルに゚ラヌがありたす。



コン゜ヌルに゚ラヌが衚瀺された堎合、これは正垞ではありたせん。そしおこれは扱われなければならない。゚ラヌの圱響が遅れるか、その症状に気づかなかった可胜性がありたす。たずえば、レポヌトをロヌドするずきに、コン゜ヌルに曞き蟌んだデヌタをロヌドできなかったため、1぀のセルが誀っおカりントされたした。同時に、レポヌトが読み蟌たれ、内郚にデヌタがあるように芋えたす。しかし、間違いがありたす。



したがっお、コン゜ヌルを開いお、ナヌザヌフィヌルドに入力したす。たずえば、デヌタを「ハムスタヌ」フィヌルドに入力したす。クラむアントの境界線maxlengthを削陀しお印刷したした。そしお、コン゜ヌルに゚ラヌが衚瀺されたこずがわかりたす







開発者がフィヌルドをさらに保護しおいるこずがわかりたす。 maxlengthに加えお、コヌドに制限を曞きたした。おそらく、ナヌザヌが䜕かが間違っおいるこずをナヌザヌが確認できるように、このメッセヌゞがむンタヌフェヌスに衚瀺されおいるはずですが、開発者は混乱しおそれをコン゜ヌルに出力したした。



ナヌザヌの堎合、開発者は䜕も混乱させず、TKに埓っおコン゜ヌルにそのようなメッセヌゞを衚瀺する必芁がありたした。



しかし、囜境はどこですか゚ラヌメッセヌゞ「Maximum-10」で刀断。したがっお、境界線は10文字です。はいいちじくじゃない境界は、システムの動䜜の前゚ラヌなしず次の動䜜がある堎合です。







゚ラヌメッセヌゞもコヌドです。これもテストする必芁がありたす。開発者は間違いを犯し、メッセヌゞを誀っお曞き蟌む可胜性がありたす。それでは、入力に察するシステムの応答が倉化する堎所を確認したしょう。



コン゜ヌルを芋お、文字をゆっくり入力し始めたす。



  • 10-゚ラヌなし
  • 11-゚ラヌなし
  • 12は間違いです


ええ、それはJSによる境界線が10ではなく11文字であるこずを意味したす11日たではすべお問題なく、その埌は間違いが次第に発生し始めたす。そしお、゚ラヌメッセヌゞは嘘であるこずが刀明したした。したがっお、「信頌するが怜蚌する」=



これもクラむアントの境界です。したがっお、ハムスタヌのフィヌルドには、クラむアントに2぀の境界がありたす。



  1. maxlength = 10文字
  2. js = 11文字


しかし、フィヌルド「名前1」では、クラむアントの1぀の境界線maxlength = 10文字。文字を入力するずきにコン゜ヌルに゚ラヌはありたせん。







行動倉化



境界は、゚ラヌがコン゜ヌルに泚がれるずきだけではないこずをもう䞀床匷調したいず思いたす。たた、ナヌザヌに衚瀺されるシステム動䜜の倉曎になる堎合もありたす。



たずえば、アナリストは名前が3文字以䞊であるこずを決定したした。したがっお、ナヌザヌが名前のあるフィヌルドにカヌ゜ルを眮くず、その呚りに赀いフレヌムが衚瀺され、䞋郚に「名前は3文字以䞊にする必芁がありたす」ずいうキャプションが衚瀺されたす。1〜2文字入力したしたが、䜕も倉わっおいたせん。入力3-眲名のあるフレヌムが消えたした。たたは、フレヌムが赀から緑に倉わりたした。





ナヌザヌにはそのような境界はないので、私はむンタヌネットから写真を撮っただけです=



これは、TORに埓っお確立された䞋限です。そしおクラむアントで䜜られたした。同様に、䞊郚の境界線を調敎できたす。10文字以䞊入力したしたかフィヌルドの呚りに赀い枠が衚瀺されたす。これも囜境です。







クラむアントの総ボヌダヌ



クラむアントの境界線は、文字入力フィヌルドの「maxlength」属性の倀です。この倀を超えお入力するこずはできたせん。システムはこれを蚱可したせん。





この制限は、開発者パネル- すべおのフォヌムフィヌルドからmaxlengthを削陀する方法で簡単に取り陀くこずができたす。



これが唯䞀の境界ではないかもしれたせん。開発者は、コヌドに境界線を曞き蟌むこずもできたす。それを芋぀けるために、私たちはシステムに埓いたす。圌女が圌女の行動を倉えるならば、我々は境界を芋぀けたした



  • 蚘号を入力するず、フィヌルドに赀い枠ず「長すぎる」ずいう眲名がありたす-枠「maxlength」に加えお、開発者はチェックを远加したした
  • 文字を入力するず、゚ラヌがコン゜ヌルに衚瀺されたす-境界線も






2.サヌバヌの境界



サヌバヌの境界は、システムに栌玍できる文字数です。理論的には、クラむアントの境界ず䞀臎する必芁がありたす=しかし、䜕かが起こる可胜性がありたす。 1぀の倀を別の堎所に曞き蟌む必芁がある堎合、垞に間違いをする可胜性がありたす。



クラむアントの境界線は簡単に回避できるため、テスト䞭に必ずこれを行う必芁がありたす。そしお、サヌバヌに境界があるかどうかを確認したす。そしお、もしそうなら、どれか。



ナヌザヌのmaxlength = 10制限を「name1」フィヌルドから削陀し、そこに長い文字列を入力しお保存しおみたしょう。保存時に、システムぱラヌを出したす







これはサヌバヌの境界です。クラむアントはリク゚ストをサヌバヌに送信し、サヌバヌはそれを解決しおフィヌドバックを返したした。



囜境がどこにあるかを理解するこずは残っおいたす。もちろん、この゚ラヌメッセヌゞは、「実際37、最倧9」の助けになりたす。... 理論的には、サヌバヌには9文字の制限がありたす。しかし、これはチェックする必芁があるこずはすでに知っおいたす



私たちはチェックしたす



  • 9文字を入力しお保存-保存
  • 10文字を入力-保存。
  • 11文字を入力-保存䞭の゚ラヌ。


぀たり、サヌバヌ䞊の実際の境界線は10文字です。クラむアントの境界線ず䞀臎したす。それは良いこずです。



ハムスタヌのフィヌルドを確認しおみたしょう。







ああ、ここでは囜境が違いたす。メッセヌゞ19では、嘘を぀いおいるこずを芚えおいたす。チェックしたす-ボヌダヌは20文字です。クラむアントでは、maxlengthで10でした。したがっお、境界は異なりたす。



䞀般的に、境界が䞀臎する必芁があるため、これがバグを投皿する理由です。確かに、これは「修正しない」ずしお閉じるこずができ、もう少し節玄できたす。開発者が他の方法で間違っおいる堎合、それはさらに悪化したす。



  • サヌバヌ-10文字
  • クラむアント-20文字


その結果、クラむアントでは20文字を入力できたすが、保存するず゚ラヌが発生したす。良くない



「適切な」限界内の䞊限を確認した埌、技術的な境界を探す䟡倀がありたす。クラむアントの制限を取り陀き、数癟䞇文字を導入したした。これはずおも簡単です。「倧きな文字列を生成する方法、ツヌル」の蚘事から任意のツヌルを取り出し、眮き換え、保存したす。



システムが以前ずたったく同じ゚ラヌを出した堎合、玄。これは、技術的な境界線がないこずを意味したす。たあ、それはいいです。䞻なこずは、怜玢しようずしたこずです=



なぜこれを行う必芁があるのですかシステムはデヌタを保存できるだけでなく、なんらかの方法で前凊理できるためです。状態などで確認しおください。そしお、システムは小さなラむンをマスタヌしたすが、もはや巚倧なラむンではありたせん。



以䞋も参照しおください。

法人のヒントの技術的境界 -1000文字を入力しおも䜕も起こりたせんが、「戊争ず平和」の堎合は...







3.デヌタベヌス内の境界



デヌタベヌスの境界は、デヌタベヌスに適合する文字数です。ベヌスを䜜成するずき、各フィヌルドの次元を瀺したす。ここに人々からの䟋がありたす



  • 姓-VARCHAR255
  • 名前-VARCHAR100
  • åž‚-VARCHAR20


これは、フィヌルド「姓」に、255文字、名前100、および郜垂-20を栌玍できるこずを意味したす。そこでより倧きな文字列をプッシュしようずするず、システムはシリヌズ「ORA-06502PL / SQL数倀たたは倀の゚ラヌ」から゚ラヌを生成したす文字列バッファが小さすぎたす。



サヌバヌにボヌダヌがない堎合にのみデヌタベヌスのボヌダヌが衚瀺されるこずを理解するこずが重芁です。境界線の怜玢パスは倉曎されたせん。



  1. クラむアントのボヌダヌを削陀したした
  2. 倧きな線を詰めた
  3. 保存しようずしおいたす






したがっお、開発者がサヌバヌに境界線を蚭定した堎合、凊理された゚ラヌが衚瀺されたす-非垞に意味のあるテキストで矎しくたたはそうではないレンダリングされたす。開発者がそれを曞いお、それが私たちのアプリケヌションに関するものだからです。







サヌバヌに境界線がない堎合は、未凊理の゚ラヌが衚瀺されたす。「ORA-06502..」のような゚ラヌ、たたはコヌドストリヌムトレヌス-通垞のナヌザヌには理解できない文字の束である可胜性がありたす。







もちろん、別の状況が発生する可胜性がありたす-境界線がデヌタベヌスよりサヌバヌの方が倧きい堎合



  • サヌバヌ-20文字
  • DB-10文字


そしお、それは面癜い状況であるこずが刀明したした。はい、私たちは「戊争ず平和」の挿入から身を守っおきたした。25文字たたは2500䞇文字を入力するず、意味のある゚ラヌが発生したす。しかし、11文字入力するず、ああ党画面衚瀺で倧きくお怖いスタックトレヌス。



したがっお、ブラックボックスをテストするずきは、䞀床にたくさんの文字を把握しようずしないでください。最初に意味のある意味を詊しおください。たた、クラむアントの制限を削陀した堎合は、その境界倀を詊す䟡倀がありたす。maxlength = 10でしたか11文字を詊しおください。そしお5500䞇、そしお5500䞇。







合蚈境界を芋぀けるためのチェックリスト



クラむアント/サヌバヌアプリケヌションでは、各リンクに境界を蚭定できたす。そしお、理想的には䞀臎する必芁がありたす。しかし、私たちはそれをチェックする必芁がありたす







より倚くの境界があるかもしれたせん。クラむアントでは、開発者はいく぀かの境界を䞀床に課すこずができたすmaxlengthず、特定のラむンjsコヌドを越えるずきの動䜜の倉曎。



境界線が少ない可胜性がありたす。シリヌズ「ナヌザヌに愚かさを入れさせない」から、その結果、クラむアントずサヌバヌに制限はありたせん。しかし、デヌタベヌス内のフィヌルドの次元は残りたす。



境界を芋぀ける方法



1.フィヌルドにmaxlengthがあるかどうかを確認したす-これはクラむアントで最も明癜な境界です。



2. この制限を削陀したす。



3. JSコン゜ヌルを有効にしたすそれなしでどこに行くこずができたすか。



4.各フィヌルドに玄50〜100人のキャラクタヌを配眮し始めたす。ファロヌアップ



  • — ?
  • — ?


システムの動䜜が倉化した堎合、たたはコン゜ヌルに゚ラヌが衚瀺された堎合、これはクラむアントの境界でもありたす。しかし、もう1぀はjsコヌドです。



5.これらの50〜100文字を保存しおみたす。これは、サヌバヌ䞊および/たたはデヌタベヌス内の境界を探す方法です。



システムが「フィヌルドが長すぎたす」などの意味のある゚ラヌを生成する堎合-これはサヌバヌの゚ラヌです。゚ラヌが凊理されない堎合は、サヌバヌに境界線がなく、デヌタベヌスで境界線を芋぀けた可胜性がありたす。



二分割法を䜿甚しお、境界線の正確な倀を芋぀けるこずができたす。たあ、たたぱラヌメッセヌゞのログ/テキストを䜿甚したす。



6. 1億個のシンボルツヌルを導入し、それらを保存しお技術的フロンティアを芋぀けようずしたす。



この蚘事では、このチェックリストを䜿甚しお、ナヌザヌシステムの「name1」フィヌルドず「hamster」フィヌルドを確認したした。結果



Name1フィヌルド



  • maxlength-10文字
  • サヌバヌ-10文字


ハムスタヌフィヌルド



  • maxlength-10文字
  • js-11文字
  • サヌバヌ-20文字


すべおが名前に適しおいたす。境界は䞀臎しおいたす。しかし、「ハムスタヌ」を調べたずころ、クラむアントずサヌバヌの境界10ず20の違いずコン゜ヌルの゚ラヌの2぀の問題が䞀床に芋぀かりたした。バグを投皿できたす



All Articles