E Vehicle Android General - 7 Flashcards
(33 cards)
What does JWT stand for?
JSON Web Token
In terms of our JUnit tests and Instrumented tests, what do the CI Jobs run?
Only the Junit tests, our CI jobs do not and cannot run the instrumented tests.
Using a public key and a private key is known as what type of encryption?
Generally explain how this works.
There is a public key that can be shared with anyone and a private key which is not shared.
The public key can be used to encrypt and the private key is used to decrypt.
Explain how a JWT works and what the benefit of it is.
It works like a reverse asymmetric encryption. Appsec has a private key that they create a token with. Then, all apps can check the token against the public key which anyone can access to see if it is a valid token.
The benefit to this is that if appsec is down, previously generated tokens can still be checked with the public key to see if it is valid.
Using a public key and a private key for security is known as what?
Asymmetric encryption
When the sender and receiver both have have the same key to encrypt and decrypt, it is called what?
Symmetric Encryption
What is the simple definition of symmetric encryption?
It is when both the sender and receiver have the same key to encrypt and decrypt.
Our release branches will automatically deploy to which environment?
How does this happen?
UAT
This happens automatically via jenkins pipelines.
What “tier” is the work that is being done off of develop?
Tier 1
Explain why a current months feature branch may be behind develop?
It could be behind develop because there may be long running feature work aka tier 1 work being pushed to develop and the current months feature branch wouldn’t have those changes yet.
Explain how the hot fix process works.
- Branch off of master and call the branch release/X.X.1-lastReleasedMonth_WX.1
Note: The 1 should be an increase in the patch version.
- Branch off of that branch and call it bugfix/MPS-XXXXX-hotFix
- Once it is approved, merge your hotfix branch into the release/X.X.1-lastReleasedMonth_WX.1, which will automerge to any open month feature branches as well as develop.
- Merge the release/X.X.1-lastReleasedMonth_WX.1 branch into master.
Draw and Study this picture of the new branching strategy.
Draw and Study this picture.
Where are the regular monthly feature branches branched off of?
The previous months release branch.
What gets automatically merged into master?
Nothing
Explain all of the automatic merging situations that bitbucket does.
What is this all based on?
When you merge in to a monthly feature branch, it will be automatically merged into the next months feature branch, if it exists, and then to develop.
When you make a branch to do a hotfix off of, you will name it by increasing the patch version. When you merge your hotfix back into this branch, it will auto-merge to any open monthly release branches and then to develop.
It is all based on the versioning that is put into the branch names. Changes made to release branches with lower numbers in their name will auto-merge into any release branches that have higher version numbers in their name, as well as ultimately into develop.
How many release branches will we have out at one time.
We don’t really want more than one out at a time but there may be two out at a time for a week or two.
For example, after FEB code freeze, we will make a MAR branch that we work off of while FEB is tested. We will only branch off of FEB if there is a bug fix that is needed.
Once FEB is released, the branch will be deleted and we will only have MAR open until the next code freeze.
What branch needs to be the highest version number?
develop
What does ate as in conditionArmAte?
Automated testing environment.
The suit installer drop down menu now has a “Prod Like” option which will point to which build?
The latest UAT build.
What is XSS and give a brief description of it.
Cross-site scripting.
It is a type of security vulnerability typically found in web applications. It enables attackers to inject client-side scripts into web pages.
Explain whether or not you should start test names with the name “test”.
This used to be required with older version of JUnit but it is not required anymore, so just start with the method name, not “test”
What is the vehicle android convention for test names?
methodName_ExpectedResult_Condition
What does it mean to get a “T Shirt Size” level of effort?
To give it a high level, small medium or large rating. Not a 1, 2, 3, 5, 8, etc.
What department is in charge of sending the PDFs of LDRs?
Messaging Framework