Skip to content

Bring your own AES-256 key Feature Test Summary #32861

@jacobwdv

Description

@jacobwdv

Test Strategy

Manual testing, unit testing and FAT tests will be updated for this change in both OL and CL. Any command line utility which passes --key= will need to be updated to include the new syntaxs for --base64Key and --secureKeyFile.

New tests will need to be created for the new task generateAesKey and the other tasks will need updating too:

securityUtility encode createSSLCertificate createLTPAKeys
collective create join replicate
configUtility install

For any feature, be aware that only FAT tests (not unit or BVT) are executed in our cross platform testing. To ensure cross platform testing ensure you have sufficient FAT coverage to verify the feature.

If delivering tests outside of the standard Liberty FAT framework, do the tests push the results into cognitive testing database (if not, consult with the CSI Team who can provide advice and verify if results are being received)?

List of FAT projects affected

  • com.ibm.ws.security.utility_fat
  • com.ibm.ws.config.utility_fat
  • com.ibm.ws.collective.utility_fat
    • this fat i plan to update the passwords in server.xml with aes_v2 passwords and a prebuilt key

Test strategy

  • What functionality is new or modified by this feature?
    • We are adding a new encryption option for encoding type 'aes'. It allows users to define a property with a base64 aes-256 key instead of using PBKDF2 to derive one. Specifying the key can be done in two new ways: entering the base64Key on the command line or specifying a configuration file named 'secureKeyFile' which parses the key for you. In either case, the user must provide wlp.aes.encryption.key variable to liberty in order to decode/encode.
  • What are the positive and negative tests for that functionality? (Tell me the specific scenarios you tested. What kind of tests do you have for when everything ends up working (positive tests)? What about tests that verify we fail gracefully when things go wrong (negative tests)? See the Positive and negative tests section of the Feature Test Summary Process wiki for more detail.)
  • What manual tests are there (if any)? Collectives are manually tested for the most part, this is because the utility itself is not easy to test and requires a complex configuration. The current FAT's do not test the command line directly but instead they test the MBEAN operations instead. We will need to test create, join and replicate manually

Confidence Level

Collectively as a team you need to assess your confidence in the testing delivered based on the values below. This should be done as a team and not an individual to ensure more eyes are on it and that pressures to deliver quickly are absorbed by the team as a whole.

Please indicate your confidence in the testing (up to and including FAT) delivered with this feature by selecting one of these values: 4

0 - No automated testing delivered

1 - We have minimal automated coverage of the feature including golden paths. There is a relatively high risk that defects or issues could be found in this feature.

2 - We have delivered a reasonable automated coverage of the golden paths of this feature but are aware of gaps and extra testing that could be done here. Error/outlying scenarios are not really covered. There are likely risks that issues may exist in the golden paths

3 - We have delivered all automated testing we believe is needed for the golden paths of this feature and minimal coverage of the error/outlying scenarios. There is a risk when the feature is used outside the golden paths however we are confident on the golden path. Note: This may still be a valid end state for a feature... things like Beta features may well suffice at this level.

4 - We have delivered all automated testing we believe is needed for the golden paths of this feature and have good coverage of the error/outlying scenarios. While more testing of the error/outlying scenarios could be added we believe there is minimal risk here and the cost of providing these is considered higher than the benefit they would provide.

5 - We have delivered all automated testing we believe is needed for this feature. The testing covers all golden path cases as well as all the error/outlying scenarios that make sense. We are not aware of any gaps in the testing at this time. No manual testing is required to verify this feature.

Based on your answer above, for any answer other than a 4 or 5 please provide details of what drove your answer. Please be aware, it may be perfectly reasonable in some scenarios to deliver with any value above. We may accept no automated testing is needed for some features, we may be happy with low levels of testing on samples for instance so please don't feel the need to drive to a 5. We need your honest assessment as a team and the reasoning for why you believe shipping at that level is valid. What are the gaps, what is the risk etc. Please also provide links to the follow on work that is needed to close the gaps (should you deem it needed)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions