テスト自動化のトレーニングコース

テスト自動化のトレーニングコース

現地の講師主導のライブテストオートメーション(オートメーションテストとも呼ばれる)トレーニングコースでは、実践を通して、ソフトウェアオートメーションテストに不可欠なプログラミングスキルを適用する方法を示します。

テストオートメーショントレーニングは、「オンサイトライブトレーニング」または「リモートライブトレーニング」として利用できます。現地でのライブトレーニングは、お客様のオフィスまたはNobleProg提携の企業トレーニングセンターでにて現地での実施が可能です。リモートライブトレーニングは、対話型のリモートデスクトップを使って行われます。

NobleProg - 現地のトレーニングプロバイダー

お客様の声

★★★★★
★★★★★

テスト自動化コース概要

コース名
期間
概要
コース名
期間
概要
14 時間
概要
このインストラクター主導の、ライブトレーニングでは、参加者は、セレンを駆動するための高度な技術を使用して自動化されたテストスイートを強化する方法を学びます。

このトレーニングの終わりまでに、参加者は次のことができるようになります:

- は、セレン
の複雑な web アプリケーションのテスト自動化の問題を解決する - 正規表現とパターンベースの検証技法を適用する
- は、テストの実行を停止する例外を処理
- データを検証するために SQL 呼び出しを実行する
- プログラムによる web オブジェクトの検索
- は、web コントロールからデータを動的にキャプチャ
- データドリブンテストフレームワークの作成
- は、セレングリッド
を使用してテストを配布

聴衆

- ソフトウェアテスター
- テストマネージャー
- 品質保証プロフェッショナル
7 時間
概要
"40% に 70% 多くのテスト自動化チームに費やされた時間のテストスイートを維持するために費やされている... アプリケーションが変更されたので、テストの結果をふるいにかけるだけでなく、ブレーク時にテストをリファクタリングするかどうか..."-ジョン Furgusonスマート、セレニティの生みの

セレニティは、テスト担当者がよく構造化された、保守可能な受け入れ基準を記述できるようにするオープンソースのレポートライブラリです。セレニティは、テスト結果について報告するだけでなく、テストデータやスクリーンショットを含むステップバイステップの物語形式で、何をしたかを文書化した、豊富で有意義なテストレポート ("リビングドキュメンテーション") を生成します。

このトレーニング参加者の

は、システムコンポーネント間の相互作用ではなく、ビジネス用語でテストを表現するために、"脚本" と "アクター、タスク、および目標のアイデアを採用して、高品質のテストを記述する方法を学習します。我々は、機能と UI のテストシナリオを見て、どのように平静をテストを管理するために使用することができますを示しています。すべての講義、ノート、クイズとの議論は、ライブハンズオン実践と実装を伴っている。

は、この訓練の終わりまでに、参加者は平静の枠組みを理解し、快適さとそれを利用することができます。重要なこととして、参加者は別のライトからテスト自動化について考え、アプローチすることを学びます。

観客

- オートメーションテスター
コース の

形式

- このコースでは、ビヘイビア駆動開発 (BDD) のための実際のケースを通して参加者をウォークし、さまざまなテストシナリオでセレニティを実装する方法について説明します。
21 時間
概要
このコースでは、セレンテストスイートとジェンキンスとの継続的なテストを使用してテストプロジェクトを処理するためのトレーニングを提供しています。

対象

読者:

- ソフトウェアテストエンジニア
- ソフトウェア開発者がアジャイル開発に携わる
- リリースマネージャ
- QA エンジニア

セレンの訓練の終わりに代表者ができるようになります:

- は実際のプロジェクトで効果的にセレンのテストスイートを使用して
- は、クロスブラウザのテストのためにセレンを使用する
- は、セレングリッド
を使用してテストを配布 - は、ジェンキンス
で回帰セレンのテストを実行する - は、ジェンキンス
を使用してテストレポートと periodict レポートを準備する
35 時間
概要
このコースでは、テストプロジェクトの取り扱いに関するトレーニングを提供し、Webアプリケーション、機能テストの自動化、およびSeleniumテストスイートを使用したクロスブラウザテストの自動化についての実践的な経験を提供します。また、それは包括的にjMeterを紹介しました。

約2日間のJMeterと3日間のSelenium 。
14 時間
概要
Seleniumは、複数のブラウザにわたるWebアプリケーションのテストを自動化するためのオープンソースライブラリです。 Seleniumは、リンクをクリックしたり、フォームに記入したり、テキストを検証したりするなどして、ブラウザと対話します。 Webアプリケーションのテスト自動化に最も人気のあるツールです。 SeleniumはWebDriverフレームワーク上に構築されており、 Pythonを含む多数のスクリプト言語用の優れたバインディングを持っています。

この講師主導のライブトレーニング参加者は、 PythonのパワーとSeleniumを組み合わせて、サンプルWebアプリケーションのテストを自動化します。ライブラボ環境で理論と実践を組み合わせることで、参加者はPythonとSeleniumを使用して独自のWebテストプロジェクトを自動化するために必要な知識と実践を習得できます。

コースの形式

- インタラクティブな講演と討論
- たくさんの練習と練習。
- ライブラボ環境での実践的な実装。

コースのカスタマイズオプション

- このコースのためのカスタマイズされたトレーニングを要求するには、手配するために私達に連絡してください。
14 時間
概要
セレンは、複数のブラウザで web アプリケーションのテストを自動化するためのオープンソースライブラリです。セレンは、ユーザーが行うようにブラウザと相互作用します: リンクをクリックし、フォームに入力し、テキストを検証します。これは、web アプリケーションのテスト自動化のための最も人気のあるツールです。セレンは WebDriver フレームワーク上に構築されており、Ruby を含む多数のスクリプト言語に優れたバインディングを備えています。

このインストラクター主導のライブトレーニングの参加者は、Ruby の機能とセレンを組み合わせて、サンプル web アプリケーションのテストを自動化します。ライブラボ環境で Selenium web automation を使用して Ruby テストスクリプトを作成して組み合わせることにより、参加者は、自分の実生活 web アプリケーションと web サイトのテストを自動化するために必要な知識と実践を得ることができます。

コースの形式

- パートレクチャー、パートディスカッション、ヘビーハンズオン練習
7 時間
概要
この入門コースは、 Seleniumを使用してWebアプリケーションをテストするための基本をテストの専門家に習熟させることを目的としています。テスターは、 Selenium IDEとSelenium 2 WebDriverの両方を使用してスクリプトを作成、拡張、および保守することができます。

対象とする訪問者

対象読者は、 Seleniumを使用してWebアプリケーションのテストを自動化しようとしているソフトウェアテスターです。これらのテスターはテストの自動化に不慣れで、テスターとの対話を担当する、またはツールが完全かつ適切に実装されていることを確認する必要がある品質保証担当者、マネージャー、またはチームリーダーを含むことがあります。

コース終了時には、次のことができるようになります。

- Selenium機能と目的を説明する
- テスト自動化の利点と適切なアプローチを理解する
- 自動テストケースを記録する
- 自動テストケースを再生する
- さまざまな検証手法を適用して使用する
- 結果の表示と分析
- Selenium RC(リモートコントロール)を設定して使用する
- テストスイートを作成して操作する
- 自動テスト実行のスケジュール
- さまざまなSeleniumスクリプト形式を利用する
- スクリプトを変更してアプリケーションをテストする機能を拡張する
- EclipseとSelenium 2 WebDriverを使ってSeleniumを設定する
- RTTSヘルパーファイルを理解して使用する
- Selenium 2 WebDriverで動作するようにSeleniumコードを変換する
- カスタムログファイルを設定する
- カスタムオブジェクトマップを作成する
- スクリプトのメンテナンスを減らすために再利用可能なモジュールを作成する
- XPath識別に役立つツールを使用する
14 時間
概要
これは自動テストを容易にするために手動テスターのために設計された実用的なコースです。
35 時間
概要
このコースでは、 Java / Maven環境を使用して、 SeleniumおよびJMeterで自動化された機能およびパフォーマンステストを使用する方法の包括的な概要を説明します。 Selenium 3日間、 JMeterに2日間を費やしています。
21 時間
概要
SoapUIは、SOAPおよびREST API用の最も広く使用されているオープンソースAPIテストツールです。 SOAP Web Services機能テスト、REST API機能テスト、WSDLカバレッジ、メッセージアサーションテスト、およびテストリファクタリングを提供します。

この講師主導のライブトレーニングでは、SoapAPIを使用してWebサービスをテストする方法を参加者が学びます。 APIテストがUIおよびユニットベースのテストのいくつかの欠点を解決する方法について説明します。トレーニングには、実践セッションとAPIテストスイート開発プロジェクトが含まれています。

トレーニングの終わりまでに、参加者は、APIテストの実装時期、APIの検索方法およびアクセス方法、SOAPベースのAPIとRESTベースのAPIの両方でのさまざまなタイプのテストの実行方法、および作業の統合方法についてしっかりと考えます。統合された自動テストスイートへ。

コースの形式

- 講師主導のコースで、APIテストのSoapUI 、そのツールとプロセス、そして実践的なSoapUIベースのテストスイート開発プロジェクトが含まれています。

コースのカスタマイズオプション

- このコースのためのカスタマイズされたトレーニングを要求するには、手配するために私達に連絡してください。
7 時間
概要
Selendroidは、 Androidデバイス用のオープンソースのテスト自動化フレームワークです。ネイティブアプリケーション、ハイブリッドアプリケーション、および実際のデバイス上で実行されているモバイルWebサイトやエミュレータをテストするために使用できます。 Selenium WebdriverクライアントAPIに基づき、既存のSeleniumフレームワークとの完全統合をサポートします。 Selendroidはハードウェアデバイスのホットプラグをサポートしており、 Selenium Gridのノードとして統合して大規模な並列テストを行うことができます。 JSON Wire Protocolと互換性があります。

このインストラクター主導のライブトレーニングでは、 SeleniumフレームワークであるSelendroidを紹介し、ライブハンズオンテスト環境での自動化テストの設定、構成、および実行について参加者に説明します。コースの後、参加者はAndroidデバイスのための彼ら自身の自動テストイニシアチブを実行するための知識と練習をするでしょう。

コースの形式

- 対話型ディスカッション+実地練習
21 時間
概要
このコースでは、テストプロジェクトを扱うためのトレーニングを提供し、Webアプリケーション、機能テスト自動化、セレンテストスイートを使用したクロスブラウザテスト自動化の経験を提供します。

対象とする訪問者:

- ソフトウェアテストエンジニア
- アジャイル開発に携わるソフトウェア開発者

セレンのトレーニングの最後に、代表者は以下を行うことができます:

- 実際のプロジェクトでSeleniumテストスイートを効果的に使用する
- ブラウザ間のテストにSeleniumを使用する
- Selenium Gridを使用してテストを配布する
21 時間
概要
TestCompleteは、機能テストおよび回帰テストに使用されるUI自動化ツールです。

このインストラクター主導のライブトレーニングでは、参加者は、テストオブジェクトモデル、チェックポイント、名前マッピング、UIなどのTestCompleteの機能を使用して、デスクトップ、Web、およびモバイルアプリケーションで自動テストを実行する方法を学びます。

このトレーニングの終わりまでに、参加者は次のことができるようになります。

- 機能テストを作成、記録、および実行します。
- スケーラブルで保守可能なテストフレームワークを作成します。
- チェックポイントを作成し、複数のデバイスのテストを調整し、テスト結果を分析します。
- TestCompleteのスクリプト拡張機能を使用します。

コースの形式

- 一部の講義、一部のディスカッション、演習、および実践的な実践。
14 時間
概要
TestNGは、単体テスト(他のクラスとは別にクラスをテストする)から統合テスト(いくつかのクラス、いくつかのパッケージ、さらにはいくつかの外部フレームワークで構成されるシステム全体のテスト)までの幅広いテストニーズを単純化するテストフレームワークです。アプリケーションサーバー)。

観客

このコースは、ワークフローにTestNGスイートを採用しようとしているエンジニアや開発者向けに作成されています。
35 時間
概要
Tricentis トスカは、ソフトウェアアプリケーションの継続的なエンドツーエンドテストを自動化するために設計されたソフトウェアテストツールです。

このインストラクター主導のライブトレーニングトレーニング参加者は、トスカを使用してエンドツーエンド (web + バックエンド) のテストを実行する方法を学習します。トレーニングは、ライブラボ環境で理論と実践を組み合わせて、参加者に技術、インストラクター、およびその仲間と対話する機会を与えます。

トレーニングは、従来のコードとスクリプトベースのオートメーションテストの概要から始まり、トスカ & #39; のモデルベースの (MBT) アプローチと対比します。「トスカ & #39; s デフォルト・モジュール」を使用してテスト・ケースを作成および実行する方法と、独自のモジュールを実行用にカスタム・ビルドする方法について説明します。

は、ソフトウェアモデリングプリンシパルからさまざまなブラウザーのカバレッジをテストするために、理論と実践の両方を通じて参加者を指導し、トスカに独自のテストソリューションを実装することを可能にします。

コースの形式

- インタラクティブなレクチャーとディスカッション
- はたくさんの練習と練習をします。
- は、ライブラボ環境で実践的な実装を行います。

コースカスタマイズオプション

- このコースのためにカスタマイズされたトレーニングを要求するには、手配するために私達に連絡してください。
7 時間
概要
トラヴィス CI は、GitHub でホストされているソフトウェアプロジェクトのビルドとテストに使用する、ホスト型の分散継続的インテグレーションサービスです。それはジェンキンスにホストされた代替です.

この講師主導のライブトレーニングでは、トラヴィス CI を使用してサンプル web アプリケーションを構築およびデプロイする際の、継続的インテグレーションに対するクラウドベースのアプローチを学習します。

このトレーニングの最後までに、参加者は次のことができるようになります。

- GitHub
でホストされているプロジェクトのビルドとテスト - を使用して別のホスティングプロバイダーにアプリケーションをデプロイする
- は、GitHub にコミットしたときに自動的にソフトウェアをチェックするためにトラビス CI を使用し
- は、異なるマシン、オペレーティングシステム、およびソフトウェアバージョンで自動テストを実行し
- は、サードパーティ製のツール
とトラビス CI を統合します。

コースの形式

- パートレクチャー、パートディスカッション、演習、ヘビーハンズオン練習
7 時間
概要
このコースでは、HUnit テストフレームワークを使用して単体テストを作成するために必要なツールと技法を紹介します。HUnit は、Haskell 用の単体テストフレームワークであり、Java 用の JUnit ツールに似ています。

このインストラクター主導のライブトレーニングでは、HUnit を使用して、直接的でわかりやすい単体テストを作成する方法について説明します。

このトレーニングの終わりまでに、参加者は次のことができるようになります:

の作成、変更、および実行が容易な - の書き込みテスト
- は HUnit を使用してテストをスイートにグループ化し、結果を自動的にチェックし
- は簡潔で柔軟なテスト仕様書を書く
- は、QuickCheck と HSpec のような他のユーティリティと HUnit を統合する
- テストフレームワークを拡張する

観客

- テストエンジニア
コース の

形式

- 部講義、パート討論、演習と重い実地練習
21 時間
概要
Watir ( Ruby Web Application Testing )はテストを自動化するためのオープンソースライブラリです。 Watirは、リンクをクリックする、フォームに記入する、テキストを検証するという、人々が行うのと同じ方法でブラウザと対話します。 WebDriverフレームワークに基づいて、それはSelenium匹敵し、Webアプリケーションテスト自動化のための最も人気のあるツールの一つです。

このトレーニングでは、参加者は、実際のラボ環境で理論と実践を組み合わせることによって、 Watirを使用してWebアプリケーションのテストを自動化する方法を学びます。コースの終わりまでに、参加者はWatirとRuby全機能を活用してWebテストプロジェクトを自動化するための知識と実践を習得することになります。

コースの形式

- 演習と実践的な練習の大部分を合わせたWatirとRuby理論的な報道がある講師主導のコース。
14 時間
概要
この講師主導のオンサイトトレーニングでは、Selenium WebDriverおよびVisual StudioのC#を使用した自動テストを参加者に紹介しました。 C#プログラミングの経験がない、またはC#を知りたい場合は、コースを見てください:[C# for Automation Test Engineers](/cc/csharpfortesters)。

コース形態

- 講義の一部、ディスカッションの一部、重い実習、理解度を測るためのテスト
21 時間
概要
Scala Checkは、 ScalaまたはJavaプログラムの自動化されたプロパティベースのテストを実行するためのライブラリです。 HaskellライブラリQuickCheckに触発され、プロパティを使用してアプリケーションの予想される動作を記述し、最初にランダム入力データを生成してから、アプリケーションのさまざまな領域でこのデータをテストし、結果を報告します。

このインストラクター主導のライブトレーニングでは、参加者は、プロパティベースのテストの利点と概念を学び、テストケースの自動生成につながるプロパティの記述を練習します。

このトレーニングの終わりまでに、参加者は次のことができるようになります。

- 手書きの単体テストケースを置換および/または補完する一般的なプロパティを記述します
- プロパティ仕様のより高いレベルでテストを書く
- 組み込みのコマンドラインテストランナーを使用して、スタンドアロンのexecutablとしてScala Checkを実行します
- Scala Test、specs2、LambdaTestなどのテストフレームワークとScala Checkを統合する

聴衆

- テストエンジニア
- 開発者

コースの形式

- 一部の講義、一部のディスカッション、演習、および実践的な実践
14 時間
概要
このインストラクター主導の、ライブトレーニングでは、参加者は、セレンを駆動するための高度な技術を使用して自動化されたテストスイートを強化する方法を学びます。

このトレーニングの終わりまでに、参加者は次のことができるようになります:

- は、セレン
の複雑な web アプリケーションのテスト自動化の問題を解決する - 正規表現とパターンベースの検証技法を適用する
- は、テストの実行を停止する例外を処理
- データを検証するために SQL 呼び出しを実行する
- プログラムによる web オブジェクトの検索
- は、web コントロールからデータを動的にキャプチャ
- データドリブンテストフレームワークの作成
- は、セレングリッド
を使用してテストを配布

聴衆

- ソフトウェアテスター
- テストマネージャー
- 品質保証プロフェッショナル
7 時間
概要
このコースでは、Apache Software Foundationの無料のアプリケーションテストソフトウェアであるApache JMeter使用した機能テストと単体テストの作成と実装について説明します。このコースの目的は、組織がさまざまなテスト要件を完全に自動化できるようにし、時間と費用を節約し、テストにおける人為的ミスのリスクを最小限に抑えることです。このプログラムは、機能テスト、回帰テスト、ストレステストなど、Apache JMeterを使用して実際のWebアプリケーションのテスト計画を設計および作成する概念を調査します。参加者は、さまざまな目的でテスト計画を設計し、 JMeter内のさまざまなコンポーネントと機能を活用して、Webアプリケーションのテストプロセスを完全に自動化する方法を学びます。
7 時間
概要
観客:

Mobile Automation Testerを含む、テストに関わるすべての人
14 時間
概要
AutoIt は、Windows デスクトップアプリケーションを自動化するためのフリーウェアの基本的なスクリプト言語です。

このインストラクター主導のライブトレーニング (オンサイトまたはリモート) では、AutoIT を使用してウィンドウアプリケーションを自動化する方法を学習し、一連の実践的な実習演習を行います。

観客

- 開発者
- テスター
- 管理者

形式 コース

- 部講義、パート討論、演習と重い実地練習

ノート

- このコースのためのカスタマイズされた訓練を要求するために、整理するために私達に連絡しなさい。
21 時間
概要
Concordion は、Java ベースのオープンソースの "仕様で、テストと仕様をまとめる例" フレームワークによって実現されています。これは JUnit と統合されており、Netbeans、Eclipse、IntelliJ などの一般的な Java ベースの ide で使用することができます。

このインストラクター主導のライブトレーニングでは、参加者は Concordion の基本、環境設定、キーコマンド、 のベストプラクティスなどを学び、サンプル Concordion アプリケーションの作成を段階的に実行します。

このトレーニングの終わりまでに、参加者は次のことができるようになります:

- Concordian
の機能を理解する - Concordian
のインストールと展開 Markdown および HTML での - 書き込み Concordion の仕様

観客

- ソフトウェア開発者とプログラマ
- オートメーションテスター
- ビジネスアナリスト
コース の

形式

- 部講義、パート討論、演習と重い実地練習
21 時間
概要
このインストラクター主導のライブトレーニングは、自動化テストを目的としたC#学習に興味のある人向けに設計されています。参加者をソフトウェア自動化テストに適用するために必要な基本的なプログラミングスキルで迅速に立ち上げるために十分な実地演習を含む合理化された、集中的なコースです。焦点はテストオートメーションに直接そしてすぐに適用されることができるC#基礎にあります。

このコースでは、 Seleniumなどのテスト自動化フレームワークについては詳しく説明しません。すでにC#精通しており、 Seleniumを使ったテストを直接[始め](/cc/seleniumcsharp)たい場合[は、 C# Selenium WebDriver: C# Webテスト自動化の概要をC#](/cc/seleniumcsharp) 。

コースの形式

- パートレクチャー、パートディスカッション、実地練習、理解度を測るためのテスト
14 時間
概要
Galenは、レイアウトと機能テストのためのオープンソースのWebアプリケーションテストフレームワークです。 Seleniumを使用してページ要素の位置と寸法を取得し、不正な要素を見つけたら、それらをスクリーンショットで報告します。 Galenは、 Java ScriptとJavaテストの両方をサポートしており、レスポンシブWebサイトのレイアウトテストに特に役立ちます。

この講師主導のライブコースでは、参加者にGalen Frameworkを紹介し、さまざまな種類のレイアウトおよび機能テストの設定と実行について説明します。

コースの形式

- パートレクチャー、パートディスカッション、実地練習、理解度を測るためのテスト
21 時間
概要
This course demonstrates through hands-on practice the fundamentals and applications of test automation with HP UFT.
28 時間
概要
は、このインストラクター主導のライブトレーニングは、テストの自動化を目的とした Java の学習に興味のある方のために設計されています。これは合理化された集中的なコースであり、実践的な演習が数多くあり、ソフトウェア自動化テストに適用するために必要なプログラミングスキルを迅速に参加者に増やすことができます。テスト自動化に直接かつ即時に適用できる Java の基礎に焦点を当てています。

このコースでは、セレンなどの詳細なテスト自動化フレームワークについては説明しません。また、これはアプリケーション開発のコースではないので、Java の学習に対する従来の "ハローワールド" アプローチをバイパスします。このコースは、テスト自動化により、参加者を迅速に稼働させることを目的としています。あなたはすでに Java に精通しており、セレンでのテストに直接取得したい場合は、チェックアウトしてください: セレン (https://www.nobleprog.com/introduction-selenium-training) についての紹介

コースの形式

- インタラクティブなレクチャーとディスカッション
- はたくさんの練習と練習をします。
- は、ライブラボ環境で実践的な実装を行います。

コースカスタマイズオプション

- このコースのためにカスタマイズされたトレーニングを要求するには、手配するために私達に連絡してください。
14 時間
概要
これは、便宜上JMeter FundamentalsとJMeter AdvancedのコースがJMeter提供されるものです。

JMeter基礎

このコースでは、Apache Software Foundationの無料のアプリケーションテストソフトウェアであるApache JMeter使用した機能テストと単体テストの作成と実装について説明します。このコースの目的は、組織がさまざまなテスト要件を完全に自動化できるようにし、時間と費用を節約し、テストにおける人為的ミスのリスクを最小限に抑えることです。このプログラムは、機能テスト、回帰テスト、ストレステストなど、Apache JMeterを使用して実際のWebアプリケーションのテスト計画を設計および作成する概念を調査します。参加者は、さまざまな目的でテスト計画を設計し、 JMeter内のさまざまなコンポーネントと機能を活用して、Webアプリケーションのテストプロセスを完全に自動化する方法を学びます。

JMeter Advanced

このコースでは、高度なWebアプリケーションのテスト手法を扱います。完全自動化、スクリプティング、テストと外部データソースの統合に重点を置いています。
週末テスト自動化コース, 夜のテスト自動化トレーニング, テスト自動化ブートキャンプ, テスト自動化 インストラクターよる, 週末テスト自動化トレーニング, 夜のテスト自動化コース, テスト自動化指導, テスト自動化インストラクター, テスト自動化レーナー, テスト自動化レーナーコース, テスト自動化クラス, テスト自動化オンサイト, テスト自動化プライベートコース, テスト自動化1対1のトレーニング

コースプロモーション

一部のお客様

is growing fast!

We are looking to expand our presence in Japan!

As a Business Development Manager you will:

  • expand business in Japan
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

Apply now!

This site in other countries/regions