Anda di halaman 1dari 10

Sheet1

CTS Camera

s.no Test Case Name

1 Camera2AndroidTestCase

2 Camera2MultiViewTestCase

3 Camera2SurfaceViewTestCase

Test Name

1 AllocationTest

Page 1
Sheet1

2 BurstCaptureRawTest

3 BurstCaptureTest

4 Camera2MultiViewCtsActivity

5 Camera2SurfaceViewCtsActivity

Page 2
Sheet1

6 CaneraDeviceTest

7 CameraManagerTest

8 CameraTestUtils

Page 3
Sheet1

9 CaptureRequestTest
10 CaptureResultTest

11 DngCreatorTest

12 ExtendedCameraCharacteristicsTest

13 FlashlightTest

Page 4
Sheet1

14 ImageReaderTest

15 ImageWriterTest

16 MultiViewTest

17 NativeCameraDeviceTest

18 NativeCameraManagerTest

19 NativeImagReaderTest

20 NativeStillCaptureTest

21 PerformanceTest
22 RecordingTest
23 ReprocessCaptureTest

24 RobustnessTest

25 StaticMetadataTest
26 StillCaptureTest
27 SurfaceViewPreviewTest

Page 5
Sheet1

CTS Camera2 Test Cases

Description

Set up the camera2 test case required environments, including CameraManager, HandlerThre
etc.

Camera2 test case base class by using mixed SurfaceView and TextureView as rendering targ

Camera2 Preview test case base class by using SurfaceView as rendering target.
class encapsulates the SurfaceView based preview common functionalities.The setup
HandlerThread, Activity, Camera IDsand CameraStateCallback are handled in this class. Som
provided to facilitate the derived preview-based test classes.
1.Setup camera preview required environments, start camera preview using givent request pre
2.Configure the preview output stream, Create captureRequest builder and add the default pre
3.Stop preview for current camera device by closing the sessionand wait for it close.
4.Setup still ( JPEG) capture configuration and strat preview.
5.Setup RAW capture configuration and start preview. Wait for any expected result key values
6.Submit a capture once or (count) number of times, then submit additional captures in
synchronized. Wait for enough results for settings to be applied( AE to be stabilized and locke
7.Create an ( ImageReader ) object and get the surface. Close the pending images then close
8.Open a camera device and get the StaticMetadata for a given camera id. Close the current a
9. Update the preview surface size. Recreate the SurfaceView's Surface . Show/hide the previ
10.Setup single capture configuration and start preview.

Description

Provide suit of tests for camera2 RenderScript API's. It uses CameraDevice as produces, cam
by Allocation and only YUV_420_888: flexible YUV420 is mandatory format for camera.
to camera manager and update the request with default manual request template.
surface window cropped, calculates the absolute crop window size by creating relative crop co
single YUV pixel ( 3 byte elements) to an RGB pixel and configure the camera with the target
the request is created from the template (@link CameraDevice#TEMPLATE_PREVIEW).
request to camera, block untill the buffer is available. After completing capture disconnect from
at least one non-zero RGB pixel value, validate input and output are not zeros. Check if buffer

pre-frame-control with exposure/gain is working correctly (Take a shot with both very high Iso
time)
android.sensitivity.parameter is applied, Take burst shots with increasing sensitivity one after a
opening required camera deviece with supporting format and throw exceptions in case of failu
config output and repeating it.

Page 6
Sheet1

Basic tests for burst capture in RAW formats.


RAW sensor size information is correctly configured.
of metadata (exposure and sensitivity) is rounded down if the request cannaot be honored .T
and verify metadata.
test in RAW formats.which create capture request builder to preserve all the original values, bu
drain the capture result, reset and build capture with 3A and repeat the above steps.
in non-stalled RAW formats. Compare the standard deviation of frame interval with thresho
infrastructure for all tests ( a structure which encapsulates all the parameters for setting up pr
capability prior to test. This checks the sensor has manual support, get the list of supported R
return sensor format to human readable string.
classes prior to the request e.g: capture size, builder, callback and listener.
burst request with manual exposure and sensitivity and also with 3A.
copy capture request builders. This is used for recovery purpose to reverse the changes we m
reader and capture callback queue.
remove the target surfaces inside the CaptureRequest.Builder.

Test YUV burst capture with full-AUTO control. Also verifies sensor settings operation if READ
1.Configure basic preview and burst settings, create burst , verify the results and locked settin
inter frame-duration and get next result, verify inter-frame durations.
upper 97.5% bound (assuming durations are normally distributed), and compare standard dev
warning message but not enforce this.

Check Texture view index is 0 or 1, if not throw illegalArgumentException.


Check Surface view index is 0 or 1, if not throw illegalArgumentException.
Make sure screen is on when this activity window is visible to the user.

Make a surface change and Check for surface state to become valid (surfaceCreated) / inv
change timeout.(create surface, chage surface, calculate timeout, and destroy surface).

Page 7
Sheet1

Basic Tests for cameraDevice APIs.


1.Workaround for mockito and JB-MR2 incompatibility and Create error listener in context sco
that purpose use spy object.
2.Due to the asynchronous nature of camera device error callback, we have to make sure d
rest of the tests. This is especially needed when error callback is fired too late.
3.Test camera capture request preview capture template.
4.Test camera capture request still capture template.
5.Test camera capture video recording template.
6.Test camera capture video snapshot template.
7.Test camera capture request zero shutter lag template.
8.Test camera capture request manual template.
9.Basic test of abort which should meet some performance related aspects.
10.Test invalid capture (e.g. null or empty capture request).
11.Test to ensure that we can call camera2 API methods inside callbacks.
12.Verify basic semantics and error conditions of the prepare call.
13.Verify creating sessions back to back.
14.Verify creating sessions back to back and only the last one is valid for submitting requests.
15.Verify timestamp and Run capture test with different test configurations.
16.Test precondition: Creates new capture session and waits until it is in ready state, any exist
of this.
17.Check if 3A metering settings are "up to HAL" in request template.
18.Start capture with given capture request and close a capture session.

Basic test for CameraManager class.


1.Workaround for mockito and JB-MR2 incompatibility.
that the getCameraIdList method runs without exceptions.
there is at least one reported id.then the system must the FEATURE_CAMERA_ANY feature.
device has front or rear facing cameras, then there must be matched system features.
is one camera device, then the system must have some specific features.
can be queried from each device, without exceptions.
thrown if an invalid device id is passed down.
can be opened one at a time, several times.
be open at the same time( skip if didn't have multiple cameras) , or the right error state is set if
10.Track
from openCamera. 11.Ensure tha
one camera to another after closing the cameras. 12.Test: that openin
sure the right error state is set. 13.Test: that the A
successfully. 14.Test that the availa
CameraManagerListenerCallbacks.

A package private utility class for wrapping up the camera2 cts test common utility functions.

Page 8
Sheet1

Basic test for camera CaptureRequest key controls. Several test categories are covered: ma
control and other per-frame control and synchronization.
Test black level lock when exposure value change.
dynamic black/white levels if they are supported.
shading map request test.
available anti-banding modes, check if the exposure time adjustment is correct. Test AE mod
{@link CaptureRequest#FLASH_MODE} control.
detection modes and results. Test tone map modes and controls. Test color correction modes a
distance control. Test AWB lock control. Test different AF modes.
optical stabilizations.
(center wise and non-center wise), validate the returned crop regions.
controls.Test effect mode controls.Per camera dynamic black and white level test. Verify fo
correction controls. Test flash mode control by AE mode. Test the all available AE modes (als
black level lock control. Verify black level lock control.
detection for a camera. Verify face detection results for different face detection modes. Test to
mode control.
optical stabilizations if they are supported by a given camera. Submit capture request and valid
Basic non-null check test for multiple capture results.

Tests for the DngCreator API. First load DNG validation jni on initialization.
1.Test basic raw capture and DNG saving functionality for each of the available cameras.
2.Test basic raw capture and DNG saving with a thumbnail, rotation, usercomment, and GPS
3.Test basic RAW capture, and ensure that the rendered RAW output is similar to the JPEG cr
4.Test basic DNG creation, ensure that the DNG image can be rendered by BitmapFactory.
5.Verify the image pair by comparing the center patch. Capture raw images. Use the DNG SD

Extended tests for static camera characteristics.


the available stream configurations contain a few required formats and sizes.
( CameraCharacteristics#getKeys)
for static metadata used by the RAW capability.
static metadata used by the BURST capability. Check reprocessing capabilities.
capability and cross-check the high speed sizes and fps ranges from the StreamConfiguration
optical black regions.

Tests for flashlight API.


1.initialize the list of cameras that have a flash unit so it won't interfere with flash tests.
flash status for all devices with a flash unit)
and off torch mode one by one. verify corrected numbers of callbacks
torch modes at once, reset tourch mode status.
a null handler will raise IllegalArgumentException.
make sure the torch status is off.

Page 9
Sheet1

Basic test for ImageReader APIs. It uses CameraDevice as producer, camera sends the da
image formats: YUV_420_888: flexible YUV420, JPEG: used for JPEG still capture .
1.Test invalid access of image after an image is closed, further access of the image will get an
2.Test two image stream (YUV420_888 and JPEG) capture by using ImageReader.
3.Test two image stream (YUV420_888 and RAW_SENSOR) capture by using ImageReader.
4.Check that the center patches for YUV and JPEG outputs for the same frame match for e
Convert a rectangular patch in a YUV image to an ARGB color array.
capture a given format stream with yuv stream simultaneously. Validate capture results.

Basic test for ImageWriter APIs. ImageWriter takes the images produced by camera (via Im
either camera input interface or ImageReader.
YUV420_888 format ImageWriter ImageReader test that checks the images produced by cam

ImageWriter ImageReader test that checks the images produced by camera can be passed co

CameraDevice test by using combination of SurfaceView, TextureView and ImageReader.


1.Start camera preview using input texture views and/or one image reader.
2.Test camera preview using input texture views and/or one image reader

Basic test for CameraManager class. Load jni on initialization, Init preview surface to a guaran

Page 10

Anda mungkin juga menyukai