web-dev-qa-db-ja.com

クロスブラウザテストは、プロジェクトの範囲内で明示的に言及する必要がありますか?

私はフリーランスのウェブ開発を行っており、フロントエンドの開発は私の得意分野ではありません。この質問は、最近の固定入札プロジェクトで思いつきました。

現在、JqueryとBootstrapを使用しており、これらは多くのクロスブラウザー処理を処理します。それでも、さまざまなブラウザーで多くのエラーが発生します。テストツールやその他の多くのことを心配する必要があります。約。

結果のサイトは、契約でブラウザー間の互換性をテストする必要があることを明示的に言及する必要がありますか?または

プロジェクトの範囲内でデフォルトで提供されますか?

ブラウザ間の互換性に費やされた時間をどのように見積もることができますか?

編集:ここにいくつかの素晴らしい答えがあります。しかし、契約締結時にブラウザの議論がまったく行われなかった場合、シナリオはどのように処理されるべきでしょうか?

5
codecool

コントラクトでは、サポートされているブラウザの明示的なリストを指定する必要があります。後で顧客が石器時代のWindows XP IE6を搭載したノートブックでページが壊れているように見えると不平を言った場合、これはあなたに多くのトラブルを救うでしょう。(読む この男に何が起こったのか) 。)

ライブラリを使用しているので、ブラウザの互換性リスト( jQueryBootstrap )の共通部分は、おそらく独自のリストの出発点として適しています。 最小バージョンではなく、特定のブラウザバージョンに言及するようにしてください:2年後に新しいIE/Firefox /ウェブページを正しくレンダリングしないChromeバージョンがリリースされましたが、なぜ無料で修正する必要があるのですか?

サポートされているブラウザーのリストを含めるとすぐに、これらのブラウザーのテスト(およびそれらのブラウザーの使用による問題の修正)がプロジェクトの一部になります。他のブラウザとの互換性はプロジェクトの範囲外であり、注文して追加料金を支払う必要があります。

これにかかる時間(およびコスト)は、たとえば、最近のWebkitベースのブラウザーのタブレットバリアントの小さな修正(低価格)か、複雑なHTML5 WebページへのIE6互換性の追加(非常に高い)かによって大きく異なります。価格)。

16
Heinzi

クライアントとして、ウェブサイトが「トップ5」、つまりChrome、Firefox、Opera、Safari、IE8 +と互換性があることを期待しています。

フリーランサーとしての私の意見は予算によって異なります(最初の要件で互換性が明示的に指定されている場合を除きます。その場合、そもそも質問は存在しません)。

  • 顧客がお金を持っていず、品質にお金を払いたくない人で、プロジェクトが可能な限り低い予算である場合、私は自分が使用するブラウザーでWebサイトが適切に機能することを確認します。 「それは私のマシンで動作します」、それは私が必要とするすべてです。別のブラウザとの互換性が必要な場合は、さらにNドルかかります。

  • 通常のプロジェクトでは、少なくともプロジェクトがChrome、Firefox、IEの最新バージョンで動作することを確認します。以前のバージョンのIEも試してみるかもしれませんが、レイアウトの調整にあまり時間をかけません。

  • 高品質のプロジェクトの場合、要件でブラウザのリストを指定する必要があります。これにより、状況が非常に明確になり、プロジェクトの2倍の価格を支払いたい場合、顧客はIE6との互換性についても尋ねることができます。

    ブラウザの互換性が重要な場合は、ブラウザの使用統計を収集/予測するための調査も行われる場合があります。これにより、どのブラウザーを考慮に入れるかを正確に決定することができます。 IE7が顧客の1%によって使用されている場合、IE7内のバグに何日も費やしても意味がありません。

注:互換性をテストする方法も非常に重要です。 IE7で角の丸みが丸くない場合、要件ではWebサイトがIE7と互換性がある必要がありますが、要件に違反していますか?ゾーンがブラウザ上で別のゾーンと比較して2ピクセル大きい場合、この不一致がほとんど見えないことを考えると、それは重要であり、修正する必要がありますか?醜いハックだけが特定の不一致を修正できる場合、それを使用する必要がありますか、それともコードの明確さを優先する必要がありますか?

5

実用的なアプローチは、BBCが BBC Browser Support Standards で行ったようにブラウザを分類することです。

私はこれらのクラスを使用します:

+ supported (≥5%)
o partially supported (≥2%)
- not supported
● tested by me

顧客は、ブラウザ、バージョン、および市場シェアを含むチャートを取得し、各エントリは上記の凡例に従ってマークされています。私は、市場をリードする3つのブラウザーのそれぞれの最新バージョンでのみテストします。

サポートされているブラウザーは、少なくとも5%の市場シェアを持つブラウザーです。これらについては、クライアントの仕様に対する機能的および視覚的コンプライアンスを保証します。逸脱はバグと見なされ、修正する必要があります。

部分的にサポートされているブラウザは、市場シェアが2%から5%のブラウザです。機能コンプライアンスのみを保証します。機能の逸脱はバグであり、それ以外はすべて変更要求です。

サポートされていないブラウザは、その名前が示すとおりです-サポートされていません。顧客がこの分野で私にしたいことはすべて変更要求であり、彼はお金を払わなければなりません。

1
nibra

はい、特に固定価格の入札ジョブで、結果のWebサイトでサポートされるブラウザーを指定する必要があります。あなたのクライアントはユーザーをうまく処理しているかもしれません。

0
Michael Kohne

これに対する別の答えがあります。それらは承認された標準と呼ばれています...作業している標準(たとえば、xhtml1.0 transitional/css2.0)を事前に合意し、それを開発します。標準自体が最終的な調停者であり、以降のブラウザーでの変更はそれらの変更を考慮に入れる必要があります。

これを行うと、ブラウザメーカーがパッチとして機能を変更した場合(特に、変更される可能性のあるhtml5のようなドラフト標準で)、追いつかないという状況から抜け出すことができます。同様に、2つのレンダリングエンジンが集計されない場合は、どちらの動作が正しいかについての固定基準があります。

次に、非標準のコードを追加したり、chromeやie6などの非標準のブラウザーの動作をターゲットとする追加の機能を使用したい場合)、追加的な方法で行うことができます(たとえば、機能の検出など)。

クライアントが問題を抱えて戻ってきた場合は、標準を参照して、正常に機能していると言うことができますが、選択した非準拠プラットフォーム用に更新したい場合は、喜んで対応しますが、費用がかかります。

(* IE6とChromeは、悪い開発者がブラウザー固有の機能をターゲットにしており、標準に適切にフォールバックするようにコーディングしていないため、同様に問題があります。)

0
James Snell