SalesforceにはApexという独自のプログラミング言語があります。
Apexはオブジェクト指向で型宣言もあってJavaやC#等に似ているので、Salesforce独自のアノテーションや名前空間、クラス、メソッドに慣れればそんなに学習コストはかからないかと思います。
Apexにより、ボタンクリック時の動作やレコード更新時の動作等、様々な処理を記述することができます。
Apexにより処理を記述したApexクラスを本番環境にリリースするには、コードカバー率が75%以上かつすべてのテストが成功するようにテストクラスを記述しなければいけません。
テストクラスではif文等の分岐を考慮して、単体テストを実行するテスト用のメソッドを作成します。
他のプログラミング言語でテストクラスを作成したことない方は苦戦するかと思いますが、Salesforce開発者には必須ですので頑張ってください。