Android SMS Blocking Guide
Android SMS Blocking Guide
INTRODUCTION
SMS BLOCK
1. INTRODUCTION
1.1 PURPOSE
You can block SMS (Short Message Service) based on contact number dynamically means if you can add contact number and name in database then you can block SMS of the numbers that are stored in database. The intention of this application is to facilitate the mobile users with a non disturbance and privacy maintained environment.
1.2 SCOPE
Though the application is supportable only for A !"#$! operating system based mobile devices% with the proper refinement of the same% it can be made deployable on all mobile operating systems platforms. Android gives you a world&class platform for creating apps and game for Android users everywhere% as well as an open marketplace for distributing to them instantly. The purpose of choosing the Android environment is that this platform is open source platform. ew applications or e'isting applications refinement can be done by any user and can be deployable at free of cost unlike the operating systems i#S or (indows Mobile operating systems.
1.3
DEFINITIONS,
ABBREVIATIONS
AND
MODEL
DIAGRAMS
)./bin: *ontains the compiled +ava class (.class) files% the dalvike'ecutables (.de') files etc . ,. /gen: *ontains the files generated by the android build tools (eg- ".+ava) .. / ib: *ontains third party libraries (+ars) used by the application. /. /!e": *ontains resources used by the application like icons% layouts% locali0ed strings etc.. 1. /!e"/#!$%$b e: *ontains images with further subfolders for
high&density2medium&density and low&density screens .3./!e"/ $&'(): *ontains 'ml files representing the 4$ layouts of your application.
SMS BLOCK
dimensions.
)8. /!e"/-' '!: *ontains additional color resources that adapt to view states.
MODEL DIAGRAMS
1.. OVERVIE/
Android powers hundreds of millions of mobile devices in more than )78 countries around the world. $t;s the largest installed base of any mobile platform and growing fast&&every day another million user<s power up their Android devices for the first time and start looking for apps% games% and other digital content.
SMS BLOCK
SMS BLOCK
2.TEC0NOLOGIES USED
2.1. INTRODUCTION TO JAVA
$nitially the language was called as =oak> but it was renamed as =?ava> in )771. The primary motivation of this language was the need for a platform&independent (i.e.% architecture neutral) language that could be used to create software to be embedded in various consumer electronic devices. ?ava is a programmer<s language. ). ?ava is cohesive and consistent. ,. @'cept for those constraints imposed by the $nternet environment% ?ava gives the programmer% full control. .. 9inally% ?ava is to $nternet programming where * was to system programming.
difference is% it is an intelligent program% not +ust a media file. $t can react to the user input and dynamically change.
output of ?ava compiler is :yte code. :yte code is a highly optimi0ed set of instructions designed to be e'ecuted by the ?ava run&time system% which is called the ?ava Firtual Machine (?FM). That is% in its standard form% the ?FM is an interpreter for byte code. Translating a ?ava program into byte code helps makes it much easier to run a program in a wide variety of environments. The reason is% once the run&time package e'ists for a given system% any ?ava program can run on it. Although ?ava was designed for interpretation% there is technically nothing about ?ava that prevents on&the&fly compilation of byte code into native code. Sun has +ust
SMS BLOCK 6
completed its ?ust $n Time (?$T) compiler for byte code. (hen the ?$T compiler is a part of ?FM% it compiles byte code into e'ecutable code in real time% on a piece&by&piece% demand basis. $t is not possible to compile an entire ?ava program into e'ecutable code all at once% because ?ava performs various run&time checks that can be done only at run time. 3$+$ Vi!)($ M$-4ine :eyond the language% there is the ?ava virtual machine. The ?ava virtual machine is an important element of the ?ava technology. The virtual machine can be embedded within a web browser or an operating system. #nce a piece of ?ava code is loaded onto a machine% it is verified. As part of the loading process% a class loader is invoked and does byte code verification makes sure that the code that<s has been generated by the compiler will not corrupt the machine that it<s loaded on. :yte code verification takes place at the end of the compilation process to make sure that is all accurate and correct. So byte code verification is integral to the compiling and e'ecuting of ?ava code. OVERALL DESCRIPTION
Source
Java
9igure ,.)- Bicture showing the development process of ?AFA Brogram ?ava programming uses to produce byte codes and e'ecutes them. The first bo' indicates that the ?ava source code is located in a. ?ava file that is processed with a ?ava compiler called +avac. The ?ava compiler produces a file called a. class file% which contains the byte code. The *lass file is then loaded across the network or loaded locally on your machine into the e'ecution environment is the ?ava virtual machine% which interprets and e'ecutes the byte code. 3$+$ A!-4i)e-)(!e ?ava architecture provides a portable% robust% high performing environment for development. ?ava provides portability by compiling the byte codes for the ?ava Firtual
SMS BLOCK 7
Machine% which is then interpreted on each platform by the run&time environment. ?ava is a dynamic system% able to load code when needed from a machine in the same room or across the planet. C'*1i $)i'n O2 C'#e (hen you compile the code% the ?ava compiler creates machine code (called byte code) for a hypothetical machine called ?ava Firtual Machine (?FM). The ?FM is supposed to e'ecute the byte code. The ?FM is created for overcoming the issue of portability. The code is written and compiled for one machine and interpreted on all machines. This machine is called ?ava Firtual Machine. COMPILING AND INTERPRETING 3AVA SOURCE CODE:
Source Code .. .. ..
Java Inter"reter&$C)
S$ARC
Co!"i#er
9igure ,.,- compiling and interpreting +ava source code !uring run&time the ?ava interpreter tricks the byte code file into thinking that it is running on a ?ava Firtual Machine. $n reality this could be a $ntel Bentium (indows 71 or Sun SA"* station running Solaris or Apple Macintosh running system and all could receive code from any computer through $nternet and run the Applets.
SMS BLOCK
Si*1 e ?ava was designed to be easy for the Brofessional programmer to learn and to use effectively. $f you are an e'perienced *CC programmer% learning ?ava will be even easier. :ecause ?ava inherits the *2*CC synta' and many of the ob+ect oriented features of *CC. Most of the confusing concepts from *CC are either left out of ?ava or implemented in a cleaner% more approachable manner. $n ?ava there are a small number of clearly defined ways to accomplish a given task. Ob5e-)6O!ien)e# ?ava was not designed to be source&code compatible with any other language. This allowed the ?ava team the freedom to design with a blank slate. #ne outcome of this was a clean usable% pragmatic approach to ob+ects. The ob+ect model in ?ava is simple and easy to e'tend% while simple types% such as integers% are kept as high&performance non&ob+ects. R'b(") The multi&platform environment of the (eb places e'traordinary demands on a program% because the program must e'ecute reliably in a variety of systems. The ability to create robust programs was given a high priority in the design of ?ava. ?ava is strictly typed languageA it checks your code at compile time and run time. ?ava virtually eliminates the problems of memory management and deallocation% which is completely automatic. $n a well&written ?ava program% all run time errors can and should be managed by your program
cannot even in this Mobile world of this complication. Android is one of those operating system platforms which made it easy for manufacturers to design top class phones.
SMS BLOCK
SMS BLOCK
1!
Android ).8(AB$ level )) Android ).)(AB$ level ,) Android ).1 *upcake(AB$ level .) Android ).3 !onut(AB$ level /) Android ,.8 @clair(AB$ level 1) Android ,.8) @clair(AB$ level 3) bAndroid ,.) @clair(AB$ level 5) Android ,.,.' 9royo(AB$ level 6) Android ,.. to ,..., Hingerbread(AB$ level 7) Android ,.... to ,...5 Hingerbread(AB$ level )8) Android ..8 Ioneycomb(AB$ level ))) Android ..) Ioneycomb(AB$ level ),) Android .., Ioneycomb(AB$ level ).) Android /.8 to /.8., $ce *ream Sandwich(AB$ level )/) Android /.8.. to /.8./ $ce *ream Sandwich(AB$ level )1) Android /.) ?elly :ean(AB$ level )3) Android /., ?elly :ean(AB$ level )5)
SMS BLOCK
11
$mproved Microsoft @'change support% including security policies% auto&discovery% lookup%calendar synchroni0ation and remote wipe $mproved application launcher with shortcuts to Bhone and :rowser applications 4S: tethering and (i&9i hotspot functionality Added an option to disable data access over mobile network 4pdated Market application with batch and automatic update features Kuick switching between multiple keyboard languages and their dictionaries Foice dialing and contact sharing over :lue&tooth Support for :lue tooth&enabled car and desk docks Support for numeric and alphanumeric passwords Support for file upload fields in the :rowser application
ANDROID ..2 3ELL9 BEAN :API LEVEL 1=< Re e$"e D$)e:). ovember ,8), Fe$)(!e" ). LBhoto SphereL panorama photos ,. Jeyboard with gesture typing .. Gock screen improvements% including widget support and the ability to swipe directly to camera /. otification power controls 1. L!aydreamL screensavers% showing information when idle or docked 3. Multiple user accounts (tablets only) 5. Support for wireless display (Miracast) 6. Accessibility improvements- triple&tap to magnify the entire screen% pan and 0oom with two fingers. Speech output and Hesture Mode navigation for blind users 7. ew clock app with built&in world clock% stop watch and timer /.) for smaller tablets (with centered software buttons% the system bar at the top of
SMS BLOCK 13
)8. All devices now use the same interface layout% previously adapted from phones on
the screen% and a home screen with a dock and centered application menu)% regardless of screen si0e )). $ncreased number of e'tended notifications and Actionable without launching the app directly ),. S@Ginu' ).. Always&on FB )/. Bremium SMS confirmation An#!'i# ..2.1: Re e$"e D$)e: ,5 ovember ,8), Fe$)(!e": 9i'ed a bug in the Beople app where !ecember was not displayed on the date selector when adding an event to a contact Added :lue&tooth game pads and +oysticks as supported I$! devices otifications for more apps% allowing the response to certain notifications within the notification bar and
Se)(1 E- i1"e IDE !ownload @clipse $!@ for ?ava !eveloper from the eclipse.org and e'tract the
downloaded file. @clipse is not reEuire to installation% +ust run the @clipse.e'e
SMS BLOCK
14
SMS BLOCK
15
1. Select Available packages from the left pane and then select any android sdk platform
you wish to develop from the right pane% it will take time to complete. *lick $nstall Selected ,. $n the popup select Accept All and *lick $nstall .. $n the popup select Accept All and *lick $nstall
SMS BLOCK
16
9igure ,.3-Step. for $nstallation CREATE ANDROID VIRTUAL DEVICE :AVD< ON ANDROID SD> After installation complete select Firtual !evice in the left pane and then click @( in right pane
SMS BLOCK
17
). After installation complete select Firtual !evice in the left pane and then click @( in right pane.
,. @nter a name to your Android Firtual !evice. .. Select target Android version from the Target drop down bo'. /. Hive the si0e of S! card and then click *reate AF!. 1. $t will take time to create Android Firtual !evice (AF!). C'n2ig(!e In")$ e" An#!i'# %i)4 E- i1"e: ). "un the @clipse...... ,. 9irst run of @clipse it will ask the default workplace% you must be mention the default workplace folder .. Ho to the Ielp && $nstall ew Software /. *lick Add button in install window to install Android !eveloper Tool 1. ame it as Android 3. Add Gocation as http-22dl&ssl.google.com2android2eclipse2 and do #J 5. After click #J% in the ne't popup bo' Select !eveloper Tools and click e't and accept license agreement and finish it 6. @clipse $!@ will gives you a warning message saying Your installation software that contains unsigned content ...... +ust #J and restart your @clipse $!@ 7. ow you need to give the Android S!J location to the popup which will be display when @clipse $!@ restart )8. (hen the @clipse $!@ starts there will be a con9igureuration popup which will ask the Android S!J location )). Select 4se e'isting S!J and then browse the Android S!J location and finish. ),. ow your Android development @nvironment is ready for development. Start your 9irst Android Application in @clipse Iello world Android @'ample STEPS ). C!e$)e An#!i'# P!'5e-) $n @clipse% select =9ile &M ew &M Bro+ectN.>% =Android Application Bro+ect>% and input your application detail like ame% Target etc. @clipse will create all the necessary Android pro+ect files then click ne't&&&&&& e't&&&&&& e't&&&&&&& e'tOfinish
SMS BLOCK 18
,. 0e ' /'! #
9igure ,.6- Sample Iello (orld Brogram .. O()1() Select Bro+ect&&&&&&&&&$n Menu Bro+ect&&&&&&&&&&&clean&&&&&&&&ok&&&&&&&&&&"ight *lick on Bro+ect&&&&&&&&&&"un&&&&&&&"un an Android Application
SMS BLOCK
Lib!$!ie"
The ne't layer is the Android<s native libraries. $t is this layer that enables the device to handle different types of data. These libraries are written in c or cCC language and are specific for a particular hardware. Some of the important native libraries include the following
S(!2$-e M$n$ge!: $t is used for compositing window manager with off&screen buffering. #ff&screen buffering means you can<t directly draw into the screen% but your drawings go to the off&screen buffer. There it is combined with other drawings and form the final screen the user will see. This off screen buffer is the reason behind the transparency of windows.
Me#i$ 2!$*e%'!@: Media framework provides different media codec<s allowing the recording and playback of different media formats SALi)e: SKGite is the database engine used in android for data storage purposes /eb >i): $t is the browser engine used to display ITMG content O1enGL: 4sed to render ,! or .! graphics content to the screen
ANDROID RUNTIME
Android "untime consists of !alvik Firtual machine and *ore ?ava libraries.
D$ +i@ Vi!)($ M$-4ine $t is a type of ?FM used in android devices to run apps and is optimi0ed
for low processing power and low memory environments. 4nlike the ?FM% the !alvik Firtual Machine doesn<t run .class files% instead it runs .de' files. .de' files are built from .class file at the time of compilation and provideshifger efficiency in low resource environments. The !alvik FM allows multiple instance of Firtual machine to be created simultaneously providing security% isolation% memory management and threading support. $t is developed by !an :ornstein of Hoogle.
C'!e 3$+$ Lib!$!ie" These are different from ?ava S@ and ?ava M@ libraries. Iowever these libraries
want to access voice calls in our application. L'-$)i'n M$n$ge!- Gocation management% using HBS or cell tower Re"'(!-e M$n$ge!- Manage the various types of resources we use in our Application
Applications
Applications are the top layer in the android architecture and this is where our applications are going to fit. Several standard applications come pre&installed with every device% such as1. SMS client app 2. !ialer 3. (eb browser 4. *ontact manager
As a developer we are able to write an app which replaces any e'isting system app. That is% you are not limited in accessing any particular feature. You are practically limitless and can whatever you want to do with the android (as long as the user of your app permits it). Thus Android is opening endless opportunities to the developer.
SMS BLOCK
21
The following description gives an overview of the most important user interface related component and parts of an Android application. A-)i+i)&: An activity represents the visual representation of an Android application. activities use views% i.e. user interface widgets as for e'ample buttons and fragments to create the user interface and to interact with the user.
In)en)"
SMS BLOCK
22
$ntents are asynchronous messages which allow the application to reEuest functionality from other Android components% e.g. from services or activities. An application can call a component directly (e'plicit $ntent) or ask the Android system to evaluate registered components based on the intent data (implicit intents). 9or e'ample the application could implement sharing of data via intent and all components which allow sharing of data would be available for the user to select. Applications register themselves to intent via an intent filter. $ntents allow an Android application to start and to interact with components from other Android applications. Se!+i-e": Services perform tasks without providing a user interface. They can communicate with other Android components and notify the user via the notification framework in Android. C'n)en) P!'+i#e! A content provider provides a structured interface to application data. Fia a content provider your application can share data with other applications. Android contains an SKGite database which is freEuently used in con+unction with a content provider. The SKGite database would store the data% which would be accessed via the content provider. B!'$#-$") Re-ei+e! :roadcast receivers can be registered to receive system messages and intents. A broadcast receiver gets notified by the Android system% if the specified event occurs. 9or e'ample you can register broadcast receivers for the event that the Android system completed the boot processor or for the event that the state of the phone changes% e.g. someone is calling.
SMS BLOCK
23
SALi)e in An#!'i#
SKGite is available on every Android device. 4sing a SKGite database in Android does not reEuire any database setup or administration. You only have to define the SKG statements for creating and updating the database. Afterwards the database is automatically managed for you by the Android platform. Access to an SKGite database involves accessing the file system. This can be slow. Therefore it is recommended to perform database operations asynchronously% for e'ample inside the AsyncTask class. $f your application creates a database% this database is by default saved in the directory !ATA2data2ABBQ AM@2databases29$G@ AM@. The parts of the above directory are constructed based on the following rules. !ATA is the path which the @nvironment.get!ata!irectory () method returns. ABBQ AM@ is your application name. 9$G@ AM@ is the name you specify in your application code for the database.
P$-@$ge" The package android database contains all general classes for working with
SMS BLOCK
24
SALi)eO1en0e 1e! To create and upgrade a database in your Android application you usually
subclass SKGite#penIelper. $n the constructor of your subclass you call the super( ) method of SKGite#penIelper% specifying the database name and the current database version. $n this class you need to override the on*reate( ) and on4pgrade( ) methods. on*reate( ) is called by the framework% if the database does not e'ists.on4pgrade( ) is called% if the database version is increased in your application code. This method allows you to update the database schema. :oth methods receive a SKGite!atabase ob+ect as parameter which represents the database. SKGite#penIelper provides the methods get"eadable!atabase( ) and get(riteable!atabase( ) to get access to a SKGite!atabase ob+ectA either in read or write mode. The database tables should use the identifier Qid for the primary key of the table. Several Android functions rely on this standard. $t is best practice to create a separate class per table. This class defines static on*reate( ) and on4pgrade() methods. These methods are called in the corresponding methods of SKGite#penIelper. This way your implementation of SKGite#penIelper will stay readable% even if you have several tables.
SALi)eD$)$b$"e
SKGite!atabase is the base class for working with a SKGite database in Android and provides methods to open% Euery% update and close the database. More specifically SKGite!atabase provides the insert( )% update( ) and delete( ) methods. $n addition it provides the e'ecSKG( ) method% which allows to e'ecute an SKG statement directly. The ob+ect *ontent Falues allows to define key2values. The LkeyL represents the table column identifier and the LvalueL represents the content for the table record in this column. *ontent Falues can be used for inserts and updates of database entries. Kueries can be created via the rawKuery( ) and Euery( ) methods or via the SKGiteKuery:uilder class. rawKuery() directly accepts an SKG select statement as input. Euery() provides a structured interface for specifying the SKG Euery. SKGiteKuery:uilder is a convenience class that helps to build SKG Eueries.
SMS BLOCK 25
3. S9STEM ANAL9SIS
4nderstanding the properties and reEuirements of a new system is more difficult and reEuires creative thinking and understanding of e'isting running system is also difficult% improper understanding of present system can lead diversion from solution.
Di"$#+$n)$ge":
There is no automatic blocking. $t intimates the user that his messsage is being blocked.
SMS BLOCK
26
A#+$n)$ge":
The user doesn<t get any notification. The output file format is supported in all mobiles.
SMS BLOCK
27
SMS BLOCK
28
*. S9STEM
DESIGN
SMS BLOCK
U"e! M'#e Vie%: This view represents the system from the users perspective. The analysis representation describes a usage scenario from the end&users perspective.
S)!(-)(!$ *'#e +ie%: $n this model the data and functionality are arrived from inside the system. This model view models the static structures.
Be4$+i'! M'#e Vie%: $t represents the dynamic of behavioral as parts of the system% depicting the interactions of collection between various structural elements described in the user model and structural model view. I*1 e*en)$)i'n M'#e Vie%: $n this the structural and behavioral as parts of the system are represented as they
are to be built
En+i!'n*en)$ M'#e Vie%: $n this the structural and behavioral aspects of the environment in which the system is to be implemented are represented 4se case !iagrams represent the functionality of the system from a user<s point of view. 4se cases are used during reEuirements elicitation and analysis to represent the functionality of the system. 4se cases focus on the behavior of the system from e'ternal point of view. Actors aree'ternal entities that interact with the system. @'amples of actors include users like administrator% bank customer Netc.% or another system like central database.
SMS BLOCK
3!
SMS BLOCK
31
SMS BLOCK
32
SMS BLOCK
33
SMS BLOCK
34
SMS BLOCK
35
SMS BLOCK
36
SMS BLOCK
37
SMS BLOCK
38
SMS BLOCK
B. IMPLEMENTATION
$mplementation literally means to put into effect or carry out. The system implementation phase if the software deals with the translation of the design specifications into the source code.
B.1 INTRODUCTION
The ultimate goal of the implementation is to write the source code and the internal documentation so that it can be verified easily. The code and documentation should be written in a manner that eases debugging% testing and modification. System flow charts% sample run on packages% sample output etc.% is part of implementation.
*larity and simplicity of the code. Minimi0ation of hard coding. Minimi0ation of amount of memory used. Through phased implementation we can use our proposed system.
22 String specificBhone umber T L)1111,)1113LA !:AdapterdbA public String TAH T LSms"eceiverLA private static final String A*T$# T Landroid.provider.Telephony.S@ !QSMSLA public static int MSHQTB@T8A USuppressGint(L ewApiL) public void on"eceive(*onte't conte't% $ntent intent) S System.out.println(Lon recive) methodL)A db Tnew !:Adapter(conte't)A System.out.println(Lafter dbL)A String [email protected]()A if([email protected](Landroid.provider.Telephony.SMSQ"@*@$F@!L)) S System.out.println(Lif blackL)A 22 22 Toast toast T Toast.makeTe't(conte't%LSMS "eceived- LCMSHQTYB@ % toast.show()A :undle bundle T intent.get@'tras()A #b+ect messagesVW T (#b+ectVW) bundle.get(LpdusL)A SmsMessagesmsMessageVW T new SmsMessageVmessages.lengthWA for (int n T 8A n Xmessages.lengthA nCC) S System.out.println(Lfor loopL)A smsMessageVnW T SmsMessage.create9romBdu((byteVW) messagesVnW)A Y System.out.println(Louter for loopL)A String ph umTsmsMessageV8W.get#riginatingAddress()A System.out.println(Lphonenumber is --LCph um)A
SMS BLOCK 41
ph umTph um.substring(5)A 22 ph umTph um.substring(ph um.length()&)8)A22for testing in real mobile device System.out.println(Lph um -- LCph um)A GistXStringMspecificBhone umber T db.getMessage)()A System.out.println(Lblocked number issssssssssLCspecificBhone umber)A intarunaT8A for(intiT8AiXspecificBhone umber.si0e()AiCC) S if (specificBhone umber.get(i).eEuals(ph um)) S arunaT)A Y Y if (arunaTT)) S 22 show first message Toast toast T Toast.makeTe't(conte't%L:G#*J@! "eceived SMS- L C smsMessageV8W.getMessage:ody()% Toast.G@ HTIQG# H)A toast.show()A abort:roadcast()A for(intiT8AiX6AiCC) S System.out.println(L:locking SMS ZZZZZZZZZZZZZZZZZZZZZZL)A Y Y else if([email protected](Landroid.provider.Telephony.S@ !QSMSL)) S Toast toast T Toast.makeTe't(conte't%LSMS S@ T- LCMSHQTYB@ % Toast.G@ HTIQG# H)A
SMS BLOCK 42
toast.show()A abort:roadcast()A for(intiT8AiX6AiCC) S System.out.println(L:locking SMS ZZZZZZZZZZZZZZZZZZZZZZL)A Y Y else S Toast toast T Toast.makeTe't(conte't%LS$ @GS@- LCMSHQTYB@ % Toast.G@ HTIQG# H)A toast.show()A 22 abort:roadcast()A for(intiT8AiX6AiCC) S System.out.println(L:locking SMS ZZZZZZZZZZZZZZZZZZZZZZL)A Y Y Y Y Y
SMS BLOCK
43
return QnameA Y public void setQname(String Qname) S this.Qname T QnameA Y public String getQnumber() S return QnumberA Y Y Y public void setQnumber(String Qnumber) S this.Qnumber T QnumberA
b)T(:utton)findFiew:y$d(".id.button))A b,T(:utton)findFiew:y$d(".id.button,)A e)T(@ditTe't)findFiew:y$d(".id.editTe't))A e,T(@ditTe't)findFiew:y$d(".id.editTe't,)A b).set#n*lickGistener(this)A b,.set#n*lickGistener(this)A Y U#verride public void on*lick(Fiew v) S 22 T#!# Auto&generated method stub switch (v.get$d()) S case ".id.button)String strTe).getTe't().toString()A String str)Te,.getTe't().toString()A db.addmessage(str%str))A breakA case ".id.button,finish()A breakA defaultbreakA Y Y
SMS BLOCK
46
SMS BLOCK
47
SMS BLOCK
48
=. S9STEM TESTING
Testing is one of the most important phases in the software development activity. $n software development life cycle (S!G*)% the main aim of testing process is the EualityA the developed software is tested against attaining the reEuired functionality and performance.
F(n-)i'n$ Te")ing $n 9unctional Testing test cases are decided solely on the basis of reEuirements of
the program or module and the internals of the program or modules are not considered for selection of test cases. This is also called :lack :o' Testing.
SMS BLOCK
S)!(-)(!$ Te")ing $n Structural Testing test cases are generated on actual code of the program or
Te") C$"e S1e-i2i-$)i'n Although there is one test plan for entire pro+ect test cases have to be specified separately for each test case. Test case specification gives for each item to be tested. All test cases and outputs e'pected for those test cases. Te") C$"e E,e-()i'n $n# An$ &"i" The steps to be performed for e'ecuting the test cases are specified in separate document called procedure specification. This document specify any reEuirements that e'ist for setting the test environment and describes the methods and formats for reporting the results of testing.
SMS BLOCK
5!
Uni) Te")ing 4nit testing mainly focused first in the smallest and low level modules% proceeding one at a time. :ottom&up testing was performed on each module. As developing a driver program% that tests modules by developed or used. :ut for the purpose of testing% modules themselves were used as stubs. After the lower level modules were tested% the modules that in the ne't higher level those make use of the lower modules were tested. @ach module was tested against reEuired functionally and test cases were developed to test the boundary values. In)eg!$)ing Te")ing $ntegration testing is a systematic techniEue for constructing the program structure% while at the same time conducting tests to uncover errors associated with interfacing. As the system consists of the number of modules the interfaces to be tested were between the edges of the two modules. The software tested under this was incremental bottom&up approach. :ottom&up approach integration strategy was implemented with the following steps.
Gow level modules were combined into clusters that perform specific software functions
S&")e* Te")ing System testing is a series of different tests whose primary purpose is to fully e'ercise the computer&based system. $t also tests to find discrepancies between the system and its original ob+ective% current specifications
SMS BLOCK
51
Table 5.) Test *ase for receiving SMS Test *ase[-) Test #b+ective- To check receiving a SMS Test !escription- SMS is checked "eEuirements Ferified- 4ser have verified message received in inbo' Test @nvironments- Android @mulator Test setup- user initiates any control mechanism like Msg sending Actions SMS Sending SMS receiving Bass- Yes *onditional pass9ail4ser need to check the inbo'. SMS received. @'pected "esults 4ser need to enter the te't SMS. Actual "esults SMS sent. Briority (I% G)- Iigh
=..
TEST CASES
SMS BLOCK
52
Test *ase[-,
Test #b+ective- To *heck the blocked SMS Test !escription- enter number % .t't e'tension "eEuirements Ferified- Bhno% message type Test @nvironments- Android *ompatable Iandset Test setup- SMS block need to be activated and check the inbo' of phone memory Actions Bhno blocked SMS The SMS need to be saved with .t't e'tension and .t't Bass- Yes need to be portable in any device *onditional pass9ailTable 5., Test *ase for blocked SMS The message is blocked with .t't e'tension and portable in all the machines. and @'pected "esults umber of the message not received Actual "esults Message :locked with correct no.
SMS BLOCK
53
9igure 5.) SMS :lock application ). The above screen shows us the SMS block application. ,. $t consists of SMS block .apk file which should be installed for application to run
SMS BLOCK
54
to get installed.
SMS BLOCK
55
SMS BLOCK
56
SMS BLOCK
57
SMS BLOCK
58
SMS BLOCK
9igure 5.5 @nter phone number and save it 1. The above screen shows us the details filled in the entry field. 2. After the details are filled the save button is pressed for the e'ecution of application.
SMS BLOCK
6!
SMS BLOCK
61
SMS BLOCK
62
SMS BLOCK
63
SMS BLOCK
64
E. REFERENCES
3$+$ Te-4n' 'gie"
?AFA *omplete "eference ?ava Script Brogramming by Yehuda Shiran
SMS BLOCK
65