Question: 4. Syntax test The Backus-Naur Form (BNF) is a way of defining syntax. It consists of: a set of terminal symbols a set of non-terminal

4. Syntax test The Backus-Naur Form (BNF) is a way of defining syntax. It consists of: a set of terminal symbols a set of non-terminal symbols a set of production rules of the form Left-Hand-Side(LHS) := Right-Hand-Side(RHS) As a software engineer, you are required to implement partial of a cell phone app to detect if phone numbers entered by users are correct. special_digit =011 ::- means is defined as". other_digit := 2|3|4|516171819 means "or". ordinary_digit := special_digit|other_digit * means "zero or more occurrences", exchange part ::= other_digitordinary_digit + means "one or more occurrences". number part = ordinary_digit A" means "n repetitions of A". phone_number := exchange part number_part For example: Correct phone numbers: 3469900, 9904567, 3300000 Incorrect phone numbers: 0551212, 123, 8, ABCDEFG 4.1 Please develop your test cases to expose any vulnerabilities of this cell phone app for the following four BNF forms. phone number :: exchange part number part exchange part ::= other_digit2 ordinary_digit number part ::- ordinary digit ordinary_digit ::- special_digit other_digit 3. A Test Driven Development Example Assume that we are building a new application, and one of the modules will provide message processing. We are not sure of the complete functionality needed, but we are sure that we need to be able to send and receive messages, and further, that the messages will consist of a variable number of 32 bit integer values. We will first create a simple C#header file and define a procedure to send messages, and a procedure to receive messages. It might look like the following: // Message.h bool Send_Message(MessageldType Message_Id, Byte Stream & MessageData, MessageSizeType MessageSize); bool Receiv_Message(MessageldType & Message Id, ByteStream &MessageData, MessageSizeType & MessageSize) Now rather than go forward with the implementation details of these procedures as the next step, please start a brain storm with your friends to generate test cases for these two procedures. List design details and the edge conditions before we implement our test cases
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
