To answer this question, let's go through each option to understand if it is in scope for coding and unit testing for an ETL (Extract, Transform, Load) job:
Option A) Validation of all negative scenarios like handling of incorrect data type - This option is in scope for coding and unit testing. As part of coding, you would need to implement validation checks to handle incorrect data types and test them during unit testing.
Option B) Testing the boundaries of each field to find any limitations - This option is also in scope for coding and unit testing. It is important to test the boundaries of each field to ensure that the ETL job can handle different data values and does not encounter any limitations.
Option C) Job not to be aborted at any cause - all abort scenarios must be handled in the code - While it is important to handle any abort scenarios in the code, it is not specifically related to unit testing. This option falls more under the category of error handling and should be considered during the development process, but it may not be directly tested during unit testing.
Option D) Cleansing of obvious data for any anomalies (even if it's not specified in requirements) - Although data cleansing is an important aspect of an ETL job, it is not directly related to coding and unit testing. Data cleansing usually involves pre-processing steps that are performed before the ETL job, and it may not be tested during unit testing.
Based on the above explanations, the correct answers are options A and B. These options are in scope for coding and unit testing as they involve handling incorrect data types and testing field boundaries.
Therefore, the correct answer is A, B.